check whether all elements of a list are in equal in R
I have a list of several vectors. I would like to check whether all
vectors in the list are equal. There's identical which only works for
pairwise comparison. So I wrote the following function which looks ugly to
me. Still I did not find a better solution. Here's my RE:
test_true <- list(a=c(1,2,3),b=c(1,2,3),d=c(1,2,3))
test_false <- list(a=c(1,2,3),b=c(1,2,3),d=c(1,32,13))
compareList <- function(li){
stopifnot(length(li) > 1)
l <- length(li)
res <- lapply(li[-1],function(X,x) identical(X,x),x=li[[1]])
res <- all(unlist(res))
res
}
compareList(test_true)
compareList(test_false)
Any suggestions? Are there any native checks for identical for more than
just pairwise comparison?
No comments:
Post a Comment