我需要在分组的 data_frame 中进行总结(警告:非常感谢使用 dplyr 的解决方案,但不是强制性的)每个组(简单)和“其他”组上的相同内容。
最小的例子
if(!require(pacman)) install.packages(pacman)
pacman::p_load(dplyr)
df <- data_frame(
group = c('a', 'a', 'b', 'b', 'c', 'c'),
value = c(1, 2, 3, 4, 5, 6)
)
res <- df %>%
group_by(group) %>%
summarize(
median = median(value)
# median_other = ... ??? ... # I need the median of all "other"
# groups
# median_before = ... ??? ... # I need the median of groups (e.g
# the "before" in alphabetic order,
# but clearly every roule which is
# a "selection function" depending
# on the actual group is fine)
)
我的预期结果如下
group median median_other median_before
a 1.5 4.5 NA
b 3.5 3.5 1.5
c 5.5 2.5 2.5
我搜索了类似于“dplyr 汇总排除组”、“dplyr 汇总其他组”的 Google 字符串,我搜索了 dplyr 文档,但找不到解决方案。
在这里,这个(如何使用 dplyr 总结与组不匹配的值)不适用,因为它仅在 sum 上运行,即是一个“特定于函数”的解决方案(并且具有一个简单的算术函数,它不考虑每个组的可变性)。更复杂的函数请求(即 mean、sd 或 user-function)呢?:-)
谢谢大家
PS:summarize()
是一个例子,同样的问题导致mutate()
或其他 dplyr-functions 基于组工作。