[R] Compare three or more values?
Marc Schwartz
marc_schwartz at me.com
Wed Mar 23 19:48:10 CET 2011
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
More information about the R-help
mailing list