我要计算每行的唯一值数。
例如,对于这个数据框架:
example <- data.frame(var1 = c(2,3,3,2,4,5),
var2 = c(2,3,5,4,2,5),
var3 = c(3,3,4,3,4,5))
我想添加一个列,它计算每行的唯一值数;例如,第一行为2(因为第一行为2和3),第二行为1(因为第二行只有3)。
有谁知道这么简单的代码吗?到目前为止,我只找到了计算每列唯一值数量的代码。
发布于 2015-02-21 03:41:38
此apply
函数返回每行中唯一值数的向量:
apply(example, 1, function(x)length(unique(x)))
您可以使用以下两种方式将其附加到您的data.frame中(如果您想将该列命名为count
):
example <- cbind(example, count = apply(example, 1, function(x)length(unique(x))))
或
example$count <- apply(example, 1, function(x)length(unique(x)))
https://stackoverflow.com/questions/28628384
复制相似问题