2014-09-03 29 views
0

我有一个数据如下。我想获取整个矩阵的不同值和它们的计数列表。什么是有效的方法来做到这一点?R获得表中唯一值的计数

我想过把一列放在另一列之下(连接列)并创建一个由9个元素组成的列,然后运行表命令。但我觉得必须有更好的方式来做到这一点。我的选择是什么?

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

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 
+0

当我在t上尝试了table命令他实际的数据,我得到错误错误“在表(sm): 试图做一个> = 2^31元素表”..任何想法为什么? – user2543622 2014-09-03 19:04:06

+0

什么是长度(sm)或暗淡(sm)?它是一个巨大的矩阵? – MrFlick 2014-09-03 19:05:39

+0

是的。它是一个巨大的数据框架它有12000行和50列 – user2543622 2014-09-03 20:06:04