我有如下数据。我想得到一个不同的值列表和它们对整个矩阵的计数。有效的方法是什么?
我考虑过将一列放在另一列(连接列)下,然后创建一个包含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
答案 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