【发布时间】:2015-01-03 15:36:48
【问题描述】:
我在 Windows 上使用 RStudio 版本 0.98.1028。总结一个多级数据框,包dplyr,使用函数sum(),我丢了一行,里面有sum = 0。换句话说,如果我的原始数据框类似于
group <- as.factor(rep(c('X', 'Y'), each = 1, times = 6))
type <- as.factor(rep(c('a', 'b'), each = 2, times = 3))
day <- as.factor(rep(1:3, each = 4))
df = data.frame(type = type, day = day, value = abs(rnorm(12)))
df = df[day != 1 | type != 'a',]
我总结一下
df1 = df %>%
group_by(day, type) %>%
summarise(sum = sum(value))
然后我得到一个缺失的行,这是我想要的 day = 1 和 type = a 之间的交互(即使它是 0...)
提前致谢!
EB
【问题讨论】:
-
你能举一个代表问题的可重现的小例子吗?
-
对不起,我的错。我将编辑问题
-
这正是重点!我在此处提供的示例相对于我实际处理的内容非常简化,但它非常能代表我的问题...
-
@Emiliano 在子集数据集中,没有
day=1和type=a的组合行 -
@Emiliano 在我看来,即使在子集之后,您也想要所有组合。 IE。不在子集数据集中的组合应该总和为
0。如果是这种情况,我在下面发布了一个解决方案。
标签: r dplyr summarization