[R] ?Bug: '&&' and '&' give different results?

ecatchpole e.catchpole at adfa.edu.au
Mon Apr 2 09:29:13 CEST 2007


As the help page says:

     '&' and '&&' indicate logical AND and '|' and '||' indicate
     logical OR.  The shorter form performs elementwise comparisons in
     much the same way as arithmetic operators.  The longer form
     evaluates left to right examining only the first element of each
     vector.  Evaluation proceeds only until the result is determined.
     The longer form is appropriate for programming control-flow and
     typically preferred in 'if' clauses.

so your results are what I'd expect.

Ted.

andreas at jostel.com wrote on 04/02/2007 05:17 PM:
> "&&" seems to behave strangely and gives different results from "&" e.g. in a data frame selection (regardless whether terms are bracketed)?
>
> ===========Script=======================
>
> test=data.frame(gender=c("F","M","M","F","F"),side=c("R","L","R","L","R"))
> test
> test[test$gender=="F" & test$side=="R",]
> test[test$gender=="F" && test$side=="R",]
>
> =============Output:=====================
>   
>> test=data.frame(gender=c("F","M","M","F","F"),side=c("R","L","R","L","R"))
>> test
>>     
>   gender side
> 1      F    R
> 2      M    L
> 3      M    R
> 4      F    L
> 5      F    R
>   
>> test[test$gender=="F" & test$side=="R",]
>>     
>   gender side
> 1      F    R
> 5      F    R
>   
>> test[test$gender=="F" && test$side=="R",]
>>     
>   gender side
> 1      F    R
> 2      M    L
> 3      M    R
> 4      F    L
> 5      F    R
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>   


-- 
 Dr E.A. Catchpole  
 Visiting Fellow
 Univ of New South Wales at ADFA, Canberra, Australia
    _	  and University of Kent, Canterbury, England
   'v'	  - www.pems.adfa.edu.au/~ecatchpole          
  /   \	  - fax: +61 2 6268 8786		   
   m m    - ph:  +61 2 6268 8895



More information about the R-help mailing list