Skip to content
Prev 245304 / 398506 Next

testing with if: what I am doing wrong?

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