Используйте lapply()
или sapply()
, потому что ваш объект является списком. Я думаю, вы могли бы проверить разницу между length()
и lengths()
. Они оба существуют, но имеют разные способности. Я предоставляю два решения foo1
и foo2
:
foo1 <- function(...){
L <- list(...)
sapply(L, function(x) length(unique(x)))
}
foo2 <- function(...){
L <- list(...)
lengths(lapply(L, unique))
}
a = rep(c("a", "b"), 30) # Vector `a`
b = rep(c("a", "b"), 20) # Vector `b`
foo1(a, b)
# [1] 2 2
foo2(a, b)
# [1] 2 2