sim*_*one 1 r count matrix plyr
我有一个看起来像这样的矩阵
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
Run Code Online (Sandbox Code Playgroud)
我想按列计算每个数字的出现次数,并写一个单独的矩阵,如
n1 n6 n9
4 0 1
4 0 1
4 0 1
0 4 1
4 0 1
0 2 3
Run Code Online (Sandbox Code Playgroud)
其中每一行代表相应列的出现.我设法按列使用计数事件
require(plyr)
apply(mymat,2,count)
Run Code Online (Sandbox Code Playgroud)
但我获得了一个数据框列表,其中包含出现而非一个矩阵.任何帮助将非常感激
你可以试试这个:
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
Run Code Online (Sandbox Code Playgroud)
where col给出矩阵中每个元素的列索引,并且可以使用该table()函数计算按列索引分组的元素的计数.