楼主: 李会超
25614 15

[问答] 如何实现分组累计求和 [推广有奖]

11
monstercghan 发表于 2016-5-11 21:42:32 |只看作者 |坛友微信交流群
boydreaming 发表于 2015-10-20 08:16
请问假如结果只是要
name fenshu
b       6
同问,请问您找到方法了吗?

使用道具

12
rucmfg 发表于 2017-9-19 17:40:23 |只看作者 |坛友微信交流群
  1. require(dplyr)
  2. t=data.frame(name=c("b","a","b","a","a"),fenshu=1:5)
  3. t %>% group_by(name) %>% mutate(cum_fenshu = cumsum(fenshu))
复制代码

使用道具

13
rucmfg 发表于 2017-9-19 17:42:33 |只看作者 |坛友微信交流群
boydreaming 发表于 2015-10-20 08:16
请问假如结果只是要
name fenshu
b       6
  1. t=data.frame(name=c("b","a","b","a","a"),fenshu=1:5)
  2. t %>% group_by(name) %>% summarise(sum_fenshu = sum(fenshu))
复制代码

使用道具

14
屋檐滴语 发表于 2017-9-19 18:46:07 |只看作者 |坛友微信交流群
  1. library(dplyr)
  2. name=c("b","a","b","a","a")
  3. fenshu=c(1,2,3,4,5)
  4. df=data.frame(name,fenshu)
  5. df %>% arrange(name) %>%
  6.   filter(name=="a") %>%
  7.   mutate(cum_fenshu = cumsum(fenshu))->df1
  8. df %>% arrange(name) %>%
  9.   filter(name=="b") %>%
  10.   mutate(cum_fenshu = cumsum(fenshu))->df2
  11. rbind(df1,df2)
复制代码

使用道具

15
屋檐滴语 发表于 2017-9-19 23:12:12 |只看作者 |坛友微信交流群
  1. library(dplyr)
  2. df=data.frame(name=c("b","a","b","a","a"),fenshu=1:5)
  3. df %>% arrange(name) %>%
  4.   group_by(name) %>%
  5.   mutate(cum_fenshu = cumsum(fenshu))
复制代码

捕获.PNG (46.89 KB)

捕获.PNG

使用道具

16
林子里de 发表于 2019-10-24 14:57:44 |只看作者 |坛友微信交流群
楼上写的真麻烦,不是分组累计求和,就一个函数的事么

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-11 11:49