首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >dplyr中的重叠组

dplyr中的重叠组
EN

Stack Overflow用户
提问于 2014-06-13 01:52:55
回答 1查看 1.2K关注 0票数 3

我试图根据分组系数计算“滚动”汇总统计数据。是否有一个很好的方法来处理(重叠的)组,基于(比如说)一个有序的因子?

例如,我想按组计算val之和

代码语言:javascript
运行
复制
df <- data.frame(grp = c("a", "a", "b", "b", "c", "c", "c"),
                 val = rnorm(7))

对于基于grp的组,很简单:

代码语言:javascript
运行
复制
df %>% group_by(grp) %>% summarise(total = sum(val))

# result:
  grp   total
1   a  1.6388
2   b  0.7421
3   c  1.1707

然而,我想要做的是计算连续组的“滚动”和("a“和"b",然后"b”和"c“等等)。所需的输出如下所示:

代码语言:javascript
运行
复制
  grp1 grp2   total
1    a    b  1.6388
2    b    c  0.7421

我在dplyr里做这件事有困难。特别是,我似乎无法弄清楚如何获得“重叠”组--上面示例中的"b“行应该在两个输出组中结束。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-13 12:28:31

试试lag

代码语言:javascript
运行
复制
df %>% 
   group_by(grp) %>% 
   arrange(grp) %>%
   summarise(total = sum(val)) %>% 
   mutate(grp1 = lag(grp), grp2 = grp, total = total + lag(total)) %>%
   select(grp1, grp2, total) %>%
   na.omit
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24196558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档