Advertisement
Edster

20170210

Feb 9th, 2017
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 2.03 KB | None | 0 0
  1. ## for the ask of https://www.ptt.cc/bbs/R_Language/M.1486659291.A.337.html
  2.  
  3. # t
  4.           [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
  5.  [1,] 2.947500    2    3    1   NA  2.5    1    0    0
  6.  [2,] 4.084530    4    5    1   NA  4.5    1    0    0
  7.  [3,] 8.808208    8    9    1   NA  8.5    1    0    0
  8.  [4,] 6.712504    6    7    1   NA  6.5    1    0    0
  9.  [5,] 8.503359    8    9    1   NA  8.5    1    0    0
  10.  [6,] 6.304814    6    7    1   NA  6.5    1    0    0
  11.  [7,] 8.348371    8    9    1   NA  8.5    1    0    0
  12.  [8,] 6.647538    6    7    1   NA  6.5    1    0    0
  13.  [9,] 4.227048    4    5    1   NA  4.5    1    0    0
  14. [10,] 4.270762    4    5    1   NA  4.5    1    0    0
  15. [11,] 6.573022    6    7    1   NA  6.5    1    0    0
  16. [12,] 6.164170    6    7    1   NA  6.5    1    0    0
  17. [13,] 4.439435    4    5    1   NA  4.5    1    0    0
  18. [14,] 3.662537    3    4    1   NA  3.5    1    0    0
  19. [15,] 1.979395    1    2    1   NA  1.5    1    0    0
  20. [16,] 6.143496    6    7    1   NA  6.5    1    0    0
  21. [17,] 7.382536    7    8    1   NA  7.5    1    0    0
  22. [18,] 7.260993    7    8    1   NA  7.5    1    0    0
  23. [19,] 4.436384    4    5    1   NA  4.5    1    0    0
  24. [20,] 6.629455    6    7    1   NA  6.5    1    0    0
  25.  
  26. surlikelihood<-function(x,t){  
  27.   p<-x[1]
  28.   alpha<-x[2]
  29.   beta<-x[3]
  30.   logL<-numeric(5)
  31.   for(i in 0:4){
  32.     if(i==0){
  33.       sright<-(p+(1-p)*(1+(t[t[,4]==i,2]/alpha)^beta)^-1)
  34.       logL[i+1]<-sum(log(sright))
  35.     }
  36.     if(i==1){
  37.       sinterval<-((1-p)*((1+(t[t[,4]==i,2]/alpha)^beta)^-1-(1+(t[t[,4]==i,3]/alpha)^beta)^-1))
  38.       logL[i+1]<-sum(log(sinterval))
  39.     }
  40.     if(i==2){
  41.       sleft<-(p+(1-p)*(1-(1+(t[t[,4]==i,3]/alpha)^beta)^-1))
  42.       logL[i+1]<-sum(log(sleft))
  43.     }
  44.     if(i==3){
  45.       suncensored<-(1-p)*(((beta/alpha)*(t[t[,4]==i,1]/alpha)^(beta-1))/(1+(t[t[,4]==i,1]/alpha)^beta)^2)
  46.       logL[i+1]<-sum(log(suncensored))
  47.     }
  48.     if(i==4){
  49.       scure<-(p+(1-p)*(1+(t[t[,4]==i,2]/alpha)^beta)^-1)
  50.       logL[i+1]<-sum(log(scure))
  51.     }
  52.   }
  53.   return(-1*sum(logL))
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement