我想返回数据框中每列唯一(不同)值的计数。例如,如果我有以下表格:
Testdata <- data.frame(var_1 = c("a","a","a"), var_2 = c("b","b","b"), var_3 = c("c","d","e"))
var_1 | var_2 | var_3
a | b | c
a | b | d
a | b | e
我希望您的输出为:我希望输出结果为:
Variable | Unique_Values
var_1 | 1
var_2 | 1
var_3 | 3
我尝试使用unique函数来操作循环,例如:
for(i in names(Testdata)){
# Code using unique function
}
不过我怀疑有一种更简单的方法。
lapply
而不是apply
来更好地处理大规模数据。例如,lapply(Testdata, function(x) length(unique(x)))
。这是一些更大的测试数据:Testdata <- data.frame(replicate(15, sample(letters[1:sample(26, 1)], 1e6, replace = TRUE)))
。 - A5C1D2H2I1M1N2O1R2T1