我想计算数据帧中因子出现的次数。例如,要算在下面的代码给定类型的事件数:计算R中因子的出现次数,并报告零计数
library(plyr)
events <- data.frame(type = c('A', 'A', 'B'),
quantity = c(1, 2, 1))
ddply(events, .(type), summarise, quantity = sum(quantity))
输出如下:
type quantity
1 A 3
2 B 1
但是,如果我知道,有三种类型的事件A
,B
和C
,我也想看看C
这是0
的计数?换句话说,我想输出为:
type quantity
1 A 3
2 B 1
3 C 0
我该怎么做?感觉应该有一个函数定义在某处。
以下是我关于如何去做这件事的两个不太好的想法。
想法#1:我知道我可以通过使用for
循环做到这一点,但我知道,它被广泛地说,如果你在R
使用for
循环,那么你正在做的事情不对,必须做一个更好的方法。
想法#2:将虚拟条目添加到原始数据框中。这个解决方案的工作原理,但它感觉应该有一个更优雅的解决方案。
events <- data.frame(type = c('A', 'A', 'B'),
quantity = c(1, 2, 1))
events <- rbind(events, data.frame(type = 'C', quantity = 0))
ddply(events, .(type), summarise, quantity = sum(quantity))
'é < - sapply(events,FUN = as.factor);表(e)' – isomorphismes 2014-02-10 06:35:10