Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #data
- [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
- [1,] 2.947500 2 3 1 NA 2.5 1 0 0
- [2,] 4.084530 4 5 1 NA 4.5 1 0 0
- [3,] 8.808208 8 9 1 NA 8.5 1 0 0
- [4,] 6.712504 6 7 1 NA 6.5 1 0 0
- [5,] 8.503359 8 9 1 NA 8.5 1 0 0
- [6,] 6.304814 6 7 1 NA 6.5 1 0 0
- [7,] 8.348371 8 9 1 NA 8.5 1 0 0
- [8,] 6.647538 6 7 1 NA 6.5 1 0 0
- [9,] 4.227048 4 5 1 NA 4.5 1 0 0
- [10,] 4.270762 4 5 1 NA 4.5 1 0 0
- [11,] 6.573022 6 7 1 NA 6.5 1 0 0
- [12,] 6.164170 6 7 1 NA 6.5 1 0 0
- [13,] 4.439435 4 5 1 NA 4.5 1 0 0
- [14,] 3.662537 3 4 1 NA 3.5 1 0 0
- [15,] 1.979395 1 2 1 NA 1.5 1 0 0
- [16,] 6.143496 6 7 1 NA 6.5 1 0 0
- [17,] 7.382536 7 8 1 NA 7.5 1 0 0
- [18,] 7.260993 7 8 1 NA 7.5 1 0 0
- [19,] 4.436384 4 5 1 NA 4.5 1 0 0
- [20,] 6.629455 6 7 1 NA 6.5 1 0 0
- #surlikelihood函數
- surlikelihood<-function(x,t){
- x1<-x[1]
- x2<-x[2]
- x3<-x[3]
- dat.0<-matrix(t[t[,4]==0,],nrow=sum(t[,4]==0))
- dat.1<-matrix(t[t[,4]==1,],nrow=sum(t[,4]==1))
- dat.2<-matrix(t[t[,4]==2,],nrow=sum(t[,4]==2))
- dat.3<-matrix(t[t[,4]==3,],nrow=sum(t[,4]==3))
- dat.4<-matrix(t[t[,4]==4,],nrow=sum(t[,4]==4))
- logL<-numeric(5)
- type<-sort(unique(t[,4]))
- for(i in 1:length(type)){
- if(type[i]==0){
- p<-x1
- alpha<-x2
- beta<-x3
- sright<-(p+(1-p)*(1+(dat.0[,2]/alpha)^beta)^-1)
- logL[i]<-sum(log(sright))
- }else if(type[i]==1){
- p<-x1
- alpha<-x2
- beta<-x3
- sinterval<-((1-p)*((1+(dat.1[,2]/alpha)^beta)^-1-(1+(dat.1[,3]/alpha)^beta)^-1))
- logL[i]<-sum(log(sinterval))
- }else if(type[i]==2){
- p<-x1
- alpha<-x2
- beta<-x3
- sleft<-(p+(1-p)*(1-(1+(dat.2[,3]/alpha)^beta)^-1))
- logL[i]<-sum(log(sleft))
- }else if(type[i]==3){
- p<-x1
- alpha<-x2
- beta<-x3
- suncensored<-(1-p)*(((beta/alpha)*(dat.3[,1]/alpha)^(beta-1))/(1+(dat.3[,1]/alpha)^beta)^2)
- logL[i]<-sum(log(suncensored))
- }else{
- p<-x1
- alpha<-x2
- beta<-x3
- scure<-(p+(1-p)*(1+(dat.4[,2]/alpha)^beta)^-1)
- logL[i]<-sum(log(scure))
- }
- }
- return(-1*sum(logL))
- }
Advertisement
Add Comment
Please, Sign In to add comment