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
______________________________________________
[email protected] 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.