r - 计算每一列的唯一值

标签 r dataframe count unique

我想返回数据框中每一列的唯一(不同)值的计数。例如,如果我有一张 table :

 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
我曾尝试使用独特的功能玩循环,例如
 for(i in names(Testdata)){
    # Code using unique function
 }
但是我怀疑有一种更简单的方法。

最佳答案

您可以使用 apply :

apply(Testdata, 2, function(x) length(unique(x)))
# var_1 var_2 var_3 
#     1     1     3

关于r - 计算每一列的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22196078/

相关文章:

regex - R中data.table中一列的子字符串字符

python - 在Python中使用groupby划分两个数据框

r - 从满足给定条件的数值向量中找出长度为 k 的连续子向量

r - pairwise.wilcox.test - 重新格式化输出

python - 在 Python 中,如何根据 ColA 值向 ColB 分配值?

dataframe - Pyspark 数据帧比较

java - 使用 hashmap 改进词频计数

WordPress 循环 - 如何计算项目数

sql - 在 Rails 中进行计数的正确方法是什么?

r - 如何根据两个条件对数据进行子集化