【发布时间】:2012-03-15 20:56:15
【问题描述】:
我有一个 data.frame,我正在尝试创建一个频率表来显示每行值的频率。所以我从这样的事情开始:
d <- data.frame(a=c(1,2,3), b=c(3,4,5), c=c(1,2,5))
看起来像这样:
a b c
1 3 1
2 4 2
3 5 5
我真正想要创建的是一个如下所示的应急 data.frame 或矩阵:
1, 2, 3, 4, 5, 6, 7, 8, 9
2, 0, 1, 0, 0, 0, 0, 0, 0
0, 2, 0, 1, 0, 0, 0, 0, 0
0, 0, 1, 0, 2, 0, 0, 0, 0
顶行只是一个标签行,不需要在最终结果中。但我把它加在那里是为了说明。每行显示数字 1:9 以及每个数字在起始数据的每一行中出现的次数。
我想不出一个简单的方法来创建它。虽然看起来table() 功能应该很有帮助,但我无法得到它给我任何爱。任何帮助或想法表示赞赏。
【问题讨论】:
-
你有一个充满数字的data.frame?蚱蜢,你忘记的速度有多快……使用矩阵。
-
使用矩阵会改变答案吗?
-
它不会改变 Josh O'Brien 的回答,因为
apply会自动将其第一个参数转换为矩阵/数组。我不确定伊利亚的情况。反正我主要是在取笑。 ;-) -
我知道你在开玩笑,但这确实让我想知道......
标签: r