1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| id=c(rep('01',5),rep('03',3),rep('02',7),rep('10',4))
time=c(1:5,1:3,1:7,1:4)
state=c(1,2,2,2,2, 1,1,2, 2,2,2,2,2,2,3 ,1,2,2,3)
censored=c(0,0,0,0,1, 0,0,1, 0,0,0,0,0,0,0, 0,0,0,1)
qinit=matrix(c(-0.256271, 0.2562710, 0.0000000, 0.000000, -0.1195264, 0.1195264,0.000000, 0.0000000, 0.0000000),3,3)
fn=function(Q,Q0,etat=state,temps=time,start.time=0){
log.v=0
for(t in temps){
print(t)
print(log.v)
if(t==start.time){
log.v=log.v+Q0
} else {
log.v=log.v+Q[etat[t],etat[t-1]]
}
}
log.v
}
fn(qinit,qinit,start.time = 1) #marche
optim(qinit,
fn(Q,qinit,start.time=1),
method='Nelder-Mead') #error ] |
Partager