Guest User

Untitled

a guest
Feb 9th, 2017
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. #data
  2. [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
  3. [1,] 2.947500 2 3 1 NA 2.5 1 0 0
  4. [2,] 4.084530 4 5 1 NA 4.5 1 0 0
  5. [3,] 8.808208 8 9 1 NA 8.5 1 0 0
  6. [4,] 6.712504 6 7 1 NA 6.5 1 0 0
  7. [5,] 8.503359 8 9 1 NA 8.5 1 0 0
  8. [6,] 6.304814 6 7 1 NA 6.5 1 0 0
  9. [7,] 8.348371 8 9 1 NA 8.5 1 0 0
  10. [8,] 6.647538 6 7 1 NA 6.5 1 0 0
  11. [9,] 4.227048 4 5 1 NA 4.5 1 0 0
  12. [10,] 4.270762 4 5 1 NA 4.5 1 0 0
  13. [11,] 6.573022 6 7 1 NA 6.5 1 0 0
  14. [12,] 6.164170 6 7 1 NA 6.5 1 0 0
  15. [13,] 4.439435 4 5 1 NA 4.5 1 0 0
  16. [14,] 3.662537 3 4 1 NA 3.5 1 0 0
  17. [15,] 1.979395 1 2 1 NA 1.5 1 0 0
  18. [16,] 6.143496 6 7 1 NA 6.5 1 0 0
  19. [17,] 7.382536 7 8 1 NA 7.5 1 0 0
  20. [18,] 7.260993 7 8 1 NA 7.5 1 0 0
  21. [19,] 4.436384 4 5 1 NA 4.5 1 0 0
  22. [20,] 6.629455 6 7 1 NA 6.5 1 0 0
  23.  
  24. #surlikelihood函數
  25. surlikelihood<-function(x,t){
  26. x1<-x[1]
  27. x2<-x[2]
  28. x3<-x[3]
  29. dat.0<-matrix(t[t[,4]==0,],nrow=sum(t[,4]==0))
  30. dat.1<-matrix(t[t[,4]==1,],nrow=sum(t[,4]==1))
  31. dat.2<-matrix(t[t[,4]==2,],nrow=sum(t[,4]==2))
  32. dat.3<-matrix(t[t[,4]==3,],nrow=sum(t[,4]==3))
  33. dat.4<-matrix(t[t[,4]==4,],nrow=sum(t[,4]==4))
  34. logL<-numeric(5)
  35. type<-sort(unique(t[,4]))
  36. for(i in 1:length(type)){
  37. if(type[i]==0){
  38. p<-x1
  39. alpha<-x2
  40. beta<-x3
  41. sright<-(p+(1-p)*(1+(dat.0[,2]/alpha)^beta)^-1)
  42. logL[i]<-sum(log(sright))
  43. }else if(type[i]==1){
  44. p<-x1
  45. alpha<-x2
  46. beta<-x3
  47. sinterval<-((1-p)*((1+(dat.1[,2]/alpha)^beta)^-1-(1+(dat.1[,3]/alpha)^beta)^-1))
  48. logL[i]<-sum(log(sinterval))
  49. }else if(type[i]==2){
  50. p<-x1
  51. alpha<-x2
  52. beta<-x3
  53. sleft<-(p+(1-p)*(1-(1+(dat.2[,3]/alpha)^beta)^-1))
  54. logL[i]<-sum(log(sleft))
  55. }else if(type[i]==3){
  56. p<-x1
  57. alpha<-x2
  58. beta<-x3
  59. suncensored<-(1-p)*(((beta/alpha)*(dat.3[,1]/alpha)^(beta-1))/(1+(dat.3[,1]/alpha)^beta)^2)
  60. logL[i]<-sum(log(suncensored))
  61. }else{
  62. p<-x1
  63. alpha<-x2
  64. beta<-x3
  65. scure<-(p+(1-p)*(1+(dat.4[,2]/alpha)^beta)^-1)
  66. logL[i]<-sum(log(scure))
  67. }
  68. }
  69. return(-1*sum(logL))
  70.  
  71. }
Advertisement
Add Comment
Please, Sign In to add comment