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.