计算所有列中的出现次数

counting occurrences in all columns

我有一个看起来像这样的矩阵

mymat

A   B   C   D   E   F
9   9   9   9   9   9
1   1   1   6   1   6
1   1   1   6   1   9
1   1   1   6   1   9
1   1   1   6   1   6

我想按列统计每个数字出现的次数,写一个单独的矩阵如

n1 n6 n9
4  0  1
4  0  1
4  0  1
0  4  1
4  0  1
0  2  3

其中每一行代表相应列的出现次数。我设法使用

按列计算出现次数
require(plyr)    
apply(mymat,2,count)

但我获得了一个数据框列表,而不是一个矩阵。任何帮助将不胜感激

你可以试试这个:

table(col(mymat), mymat)

#   mymat
#    1 6 9
#  1 4 0 1
#  2 4 0 1
#  3 4 0 1
#  4 0 4 1
#  5 4 0 1
#  6 0 2 3

其中 col 给出了矩阵中每个元素的列索引,并且可以使用 table() 函数计算按列索引分组的元素的计数。