计算所有列中的出现次数
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()
函数计算按列索引分组的元素的计数。
我有一个看起来像这样的矩阵
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()
函数计算按列索引分组的元素的计数。