Bonjour,

Je souhaiterais créer un programme effectuant une analyse de survie sans passer par la fonction surv par exemple, mais en passant par la création manuelle du tableau de Kaplan-Meier.

L'idée serait qu'à partir d'un jeu de données je reproduise ce tableau. Le problème c'est que je rencontre des difficultés toutes bêtes concernant la manipulation des données.

Voilà un exemple de données (dat) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
"id"	"time"	"event"
1	15	1
2	23	1
3	23	1
4	24	0
5	48	0
6	54	1
7	66	1
8	68	1
9	72	0
10	72	0
11	72	0
12	72	0
13	72	0
14	72	0
15	72	0
16	72	0
17	72	0
18	72	0
19	72	0
20	72	0
21	72	0
22	72	0
23	75	1
24	76	0
25	76	0
Je souhaiterais à partir de mes données obtenir ce tableau dans R (km):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
   time censored events
1    15        0      1
2    23        0      2
3    24        1      0
4    48        1      0
5    54        0      1
6    66        0      1
7    68        0      1
8    72       14      0
9    75        0      1
10   76        2      0
J'ai utilisé ce code,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
a<-table(dat$time,dat$event)
mais cela ne me convient pas pour travailler avec le tableau produit. Pouvez-vous m'indiquer comment réalisé le tableau attendu ?

Merci par avance.

PS : Voici un extrait de la suite de mon code (sous l'hypothèse que j'ai le bon tableau) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
nb<-nrow(km)
 
#inserer une ligne avec les valeurs 0
km=rbind(0,km)
 
risk<-nrow(dat)
risk[1]
 
events<-km[,3]
censored<-km[,2]
 
for(i in 1:nb){
  risk[i+1]<-(risk[i]-events[i]-censored[i])
}
 
km<-cbind(km,risk)
 
km<-subset(km, events != 0)
km<-km[,-2]
km