我想否定选择(因子变量每个级别的给定行值以外的所有值),并总结剩余的数据。举一个简单的例子,我有一个带有两列的数据框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

最佳答案

这是您可以在基本R中实现的方法:

编辑:感谢您提出可扩展的更改@Ryan

> sapply(levels(DF$Category), FUN = function(x) mean(subset(DF, Category != x)$Value))

       A        B        C
2.000000 2.500000 2.666667

关于r - 否定选择数据框后如何在R中获得摘要统计信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36140487/

10-12 16:32
查看更多