Manual de R (Estadística)/Missatges d'error
Aparença
The condition has length > 1 and only the first element will be used
[modifica]Apareix, per exemple, si en una sentència if
, en la condició (p. ex. if (X == 1)
), un vector es compara amb un nombre. Exemple:
> DADES <- data.frame(SEXE=c("Dona", "Home", "Home", "Dona"),
+ EDAT=c(20,25,30,35))
> if(DADES$EDAT <= 25)
+ {
+ DADES$JOVE0N1S = 1
+ }
Warning message:
In if (DADES$EDAT <= 25) { :
the condition has length > 1 and only the first element will be used
En l'exemple, DADES$EDAT
te 4 elements (20,25,30,35). Caldria indicar-li quin dels quatre ha de ser menor de 25, p. ex., el primer (if(DADES$EDAT[1] <= 25))
, malgrat que segurament no això el que es desitjava fer (crear una nova variable que tingui el valor "1" si la persona te 25 anys o menys anys).
Per crear una nova variable que tingui el valor "1" si la persona te 25 o menys anys) i "0" sinó, es pot utilitzar la funció ifelse
:
> DADES$JOVE0N1S = ifelse(DADES$EDAT <= 25, 1, 0)
> DADES
SEXE EDAT JOVE0N1S
1 Dona 20 1
2 Home 25 1
3 Home 30 0
4 Dona 35 0