gpt4 book ai didi

r - 历年累计总和 R

转载 作者:行者123 更新时间:2023-12-05 02:25:38 25 4
gpt4 key购买 nike

我想获得每个实体多年来的累计总和。

下面是一个例子,以及我到目前为止所做的尝试:

data<-data.frame(id=c("a","a","a","b","a","b","b"),cars=c(1,1,1,1,1,1,1),year=c(2001,2001,2002,2003,2003,2003,2004))

我试过了:

library(tidyverse)
library(stringr)
library(dplyr)
library(tidyr)

data %>% group_by(id,year) %>% mutate(csum = (cumsum(cars))) %>% top_n(1, csum)
id cars year csum
<chr> <dbl> <dbl> <dbl>
1 a 1 2001 2
2 a 1 2002 1
3 a 1 2003 1
4 b 1 2003 2
5 b 1 2004 1

这是我想要的:

  id     cars  year  csum
<chr> <dbl> <dbl> <dbl>
1 a 1 2001 2
2 a 1 2002 3
3 a 1 2003 4
4 b 1 2003 2
5 b 1 2004 3

非常感谢。

最佳答案

dat %>% group_by(id) %>% count(cars,year) %>%
mutate(csum = cumsum(n)) %>% select(-c(cars,n))
# A tibble: 5 × 3
# Groups: id [2]
id year csum
<chr> <dbl> <int>
1 a 2001 2
2 a 2002 3
3 a 2003 4
4 b 2003 2
5 b 2004 3

关于r - 历年累计总和 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74390365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com