Boucle for avec vecteur + warning "number of items to replace is not a multiple of replacement length"
Bonjour,
J'ai un vecteur temps et un vecteur cause :
Code:
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) |
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).
Voilà le code sans boucle qui fonctionne :
Code:
1 2 3 4
| i=1
time_cs1<-unique(time[cause==i])
i=2
time_cs2<-unique(time[cause==i]) |
Qui donne les résultats suivants :
Code:
1 2 3 4
| > time_cs1
[1] 5 7 13 16
> time_cs2
[1] 8 15 23 |
Quand je passe à la boucle for avec ce code :
Code:
1 2 3 4 5
| time_cs=NULL
for (i in 1:max(cause)){
time_cs[i]<-unique(time[cause==i])
} |
J'obtiens le warning suivant et mes vecteurs time_cs1 et time_cs2 qui sont "not found".
Code:
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 |
Pouvez-vous m'indiquer comment corriger ma boucle for ? Merci par avance pour aide.
Cordialement