Bonjour,
J'ai un vecteur temps et un vecteur cause :
Je souhaiterais récupérer au moyen d'une boucle for (car il peut y avoir plus de 2 causes) un vecteur temps pour chaque cause. C'est à dire un vecteur time_cs1 correspondant au temps où la cause est de 1 (à savoir : 5, 7, 13, 16) et un vecteur time_cs2 correspondant au temps où la cause est de 2 (à savoir : 8, 15, 23).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 time<-c(5,6,7,8,9,12,13,15,16,20,22,23) cause<-c(1,0,1,2,0,0,1,2,1,0,0,2)
Voilà le code sans boucle qui fonctionne :
Qui donne les résultats suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 i=1 time_cs1<-unique(time[cause==i]) i=2 time_cs2<-unique(time[cause==i])
Quand je passe à la boucle for avec ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 > time_cs1 [1] 5 7 13 16 > time_cs2 [1] 8 15 23
J'obtiens le warning suivant et mes vecteurs time_cs1 et time_cs2 qui sont "not found".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 time_cs=NULL for (i in 1:max(cause)){ time_cs[i]<-unique(time[cause==i]) }
Pouvez-vous m'indiquer comment corriger ma boucle for ? Merci par avance pour aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Warning messages: 1: In time_cs[i] <- unique(time[cause == i]) : number of items to replace is not a multiple of replacement length 2: In time_cs[i] <- unique(time[cause == i]) : number of items to replace is not a multiple of replacement length
Cordialement
Partager