[R] ifelse and "&&" vs "&"
Christos Argyropoulos
argchris at hotmail.com
Wed Jun 18 15:10:30 CEST 2008
Hi,
I noticed whether some one could explain why "&" and "&&" behave differently in data frame transformations.
Consider the following :
a<-data.frame(r=c(0,0,2,3),g=c(0,2,0,2.1))
Then:
> transform(a,R=ifelse(r>0 && g> 0,log(r/g),NA))
r g R
1 0 0.0 NA
2 0 2.0 NA
3 2 0.0 NA
4 3 2.1 NA
but
> transform(a,R=ifelse(r>0 & g> 0,log(r/g),NA))
r g R
1 0 0.0 NA
2 0 2.0 NA
3 2 0.0 NA
4 3 2.1 0.3566749
If my understanding of the differences between "&" and "&&" and how 'transform' works are accurate, both statements should produce the same output.
I got the same behaviour in Windows XP Pro 32-bit (running R v 2.7) and Ubuntu Hardy (running the same version of R).
Thanks
Christos Argyropoulos
University of Pittsburgh Medical Center
_________________________________________________________________
Discover the new Windows Vista
E
More information about the R-help
mailing list