【发布时间】:2016-07-08 12:28:12
【问题描述】:
我想否定选择(除因子变量的每个级别的给定行值之外的所有值)并总结剩余的数据。举个简单的例子,我有一个数据框 DF,它有两列。
>DF
Category Value
A 5
B 2
C 3
A 1
C 1
如果 dplyr 可以否定选择(可以吗?),它看起来像这样。
> DF %>% group_by(!Category) %>% summarise(avg = mean(Value))
!Category avg
A 2.00 #average of all rows where category isn't A
B 2.50
C 2.67
【问题讨论】:
-
使用
group_by无法完成您想要的操作,因为您将多次使用每个值,因此这不仅仅是按一个因素简单地拆分数据框。您将不得不使用更通用的方法自己编写代码,例如lapply或dplyr::do。