Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按R中的百分比增量查找累积数_R_Dplyr_Tidyverse_Cumulative Sum - Fatal编程技术网

按R中的百分比增量查找累积数

按R中的百分比增量查找累积数,r,dplyr,tidyverse,cumulative-sum,R,Dplyr,Tidyverse,Cumulative Sum,我有一个新的数据框,如下面的原始样本 structure(list(Facility = c("ABE", "ABE", "ABE", "ABE", "ABE", "ABE", "ABE", "ABE", "ABE", "ABE"), Year.x = c(2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), `Growth Rate` = c(25.375, 15.5865736124958, 14.5677592486

我有一个新的数据框,如下面的原始样本

structure(list(Facility = c("ABE", "ABE", "ABE", "ABE", "ABE", 
"ABE", "ABE", "ABE", "ABE", "ABE"), Year.x = c(2017, 2018, 2019, 
2020, 2021, 2022, 2023, 2024, 2025, 2026), `Growth Rate` = c(25.375, 
15.5865736124958, 14.5677592486103, 12.3473314371758, 10.253164556962, 
6.67251975417032, 2.65906932573599, 1.55411655874191, 1.51211513936965, 
1.5853074898301), Year.y = c(2016, 2016, 2016, 2016, 2016, 2016, 
2016, 2016, 2016, 2016), OPS = c(7200, 0, 0, 0, 0, 0, 0, 0, 0, 
0)), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"
))
我想在OPS中输入值,以便它显示累计时间百分比增量列增长率 下面是我要做的工作要点

适用于OPSNET中的所有设施 对于OPSNET中的每个设施,根据每年每个设施的增长率,找到2017年至2045年的新运营数量。请记住,增长率在“GR”中给出

假设你想为设施“ABE”这样做。首先,将7200乘以2017年25的增长率,再加上7200,得到9027。然后将9027乘以2018年的增长率15,再加上9027,得到10434。直到2045年你都会这么做

我在下面尝试过使用dplyr,但我很难在使用dplyr时使用百分比增量进行倍增

我的看法是:

new_df <- new_df %>% arrange(Facility, Year.x) %>% 
  mutate(cumsum = cumsum(OPS))
请帮助我

这个呢:

for(i in 2:nrow(a)){
 if(a$Facility[i]==a$Facility[i-1]){
   a$OPS[i] <- (a$OPS[i-1])*((a$`Growth Rate`[i-1]/100)+1)
 }
}

使用cumprod。例如,cumprod1+df$Growth Rate/100为您提供了需要乘以初始OPS值的累计费率。感谢您的快速帮助,但如何将cumprod用于设施列中的每个级别,请您举例说明。我觉得它的东西很小,只是无法理解它,你能发布预期的结果吗?不确定是否真正了解您需要什么