R获取表中唯一值的计数

时间:2014-09-03 18:29:02

标签: r unique

我有如下数据。我想得到一个不同的值列表和它们对整个矩阵的计数。有效的方法是什么?

我考虑过将一列放在另一列(连接列)下,然后创建一个包含9个元素的列,然后运行table命令。但我觉得必须有一个更好的方法来做这个......我的选择是什么?

sm <- matrix(c(51,43,22,"a",51,21,".",22,9),ncol=3,byrow=TRUE)

预期产出

distinct value: count
51:2
43:1
22:2
a:1
21:1
.:1
9:1

1 个答案:

答案 0 :(得分:1)

table()命令可以在矩阵中正常工作

t<-table(sm)
t
# sm
#  . 21 22 43 51  9  a 
#  1  1  2  1  2  1  1

如果您想重塑结果,可以

cat(paste0(names(t), ":", t, collapse="\n"), "\n")

#  .:1
#  21:1
#  22:2
#  43:1
#  51:2
#  9:1
#  a:1