On Mar 23, 2011, at 11:01 AM, Beale, Holly (NIH/NHGRI) [F] wrote:

> Is there a less cryptic way to compare three or more values?
> 
> allTheSame<-c("red","red","red","red")
> notAllTheSame<-c(132,132,132,999)
> 
> all.identical <- function(vectorToTest){
>    cIdentical=sum(vectorToTest %in% vectorToTest[1])
>    return(cIdentical==length(vectorToTest))
>    }
> 
> all.identical(allTheSame)
> all.identical(notAllTheSame)
> 
> Thanks in advance,
> Holly


See ?unique

allTheSame <- c("red","red","red","red")
notAllTheSame <- c(132,132,132,999)

> length(unique(allTheSame)) == 1
[1] TRUE
 
> length(unique(notAllTheSame)) == 1
[1] FALSE


Note that this is fine for character and integer values, but should not be 
expected to work for floats. 

In the latter case, see ?all.equal and R FAQ 7.31: Why doesn't R think these 
numbers are equal?

HTH,

Marc Schwartz

______________________________________________
R-help@r-project.org 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.

Reply via email to