来自dplyr中个别数据的概率

时间:2014-04-03 13:36:00

标签: r dplyr

示例:具有许多个体和3个变量的数据框:年(整数),性别(因子:男/女)和联合(因子:是/否)。我想计算一个年龄和性别成为工会会员的可能性。我通常使用aggregate()来做这件事。我是不是一直这样做,我正在寻找一种简短快捷的方式在dplyr中这样做。

亲切的问候, 彼得

2 个答案:

答案 0 :(得分:4)

以下{@ 1}}相当于@droopy的答案:

dplyr

......为了完整性,tbl_df( x ) %.% group_by( year, gender ) %.% summarise( P = mean(union == "yes") ) Source: local data frame [8 x 3] Groups: year year gender P 1 2001 female 1.0 2 2001 male 0.5 3 2002 female 0.5 4 2002 male 0.0 5 2003 female 0.0 6 2003 male 0.5 7 2004 female 0.5 8 2004 male 0.0 解决方案:

data.table

答案 1 :(得分:1)

类似的东西?

x <- data.frame(year=rep(2001:2004, each=4), gender=rep(c("male", "female"), 8), union=sample(c("yes", "no"), 16, rep=T))
ddply(x, .(year, gender), summarize, P=mean(union=="yes"))