我想否定(除了因子变量的每个级别的给定行值之外的所有值)并总结剩余的数据.举个简单的例子,我有一个带有两列的数据框DF.
>DF
Category Value
A 5
B 2
C 3
A 1
C 1
Run Code Online (Sandbox Code Playgroud)
如果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
Run Code Online (Sandbox Code Playgroud)
这是你可以在基地做的一种方式R:
编辑:感谢您建议可扩展的更改@Ryan
> sapply(levels(DF$Category), FUN = function(x) mean(subset(DF, Category != x)$Value))
A B C
2.000000 2.500000 2.666667
Run Code Online (Sandbox Code Playgroud)