[R] testing with if: what I am doing wrong?

Luca Meyer lucam1968 at gmail.com
Sat Dec 18 14:34:10 CET 2010


I am running this small program:

x <- factor(c("A","B","A","C"))
y <- c(1,2,3,4)
w <-data.frame(x,y)
if (w$x=="A"){
	w$z=1
}
w
And I obtain:

  x y z
1 A 1 1
2 B 2 1
3 A 3 1
4 C 4 1

And not

  x y z
1 A 1 1
2 B 2 NA
3 A 3 1
4 C 4 NA

Like I should obtain. What am I doing wrong?

Please notice that I get a warning approximately saying - translated from italian:

In if (w$x == "A") { : the condition length > 1 and only the first element will be used 

Thanks,
Luca


More information about the R-help mailing list