首页 > 解决方案 > 将下一行总结成一个新的列

问题描述

我在弄清楚如何用两个后续单元格的总和创建一个新列时遇到了一些麻烦。

我有 :

df1<- tibble(Years=c(1990, 2000, 2010, 2020, 2030, 2050, 2060, 2070, 2080),
Values=c(1,2,3,4,5,6,7,8,9 ))

现在,我想要一个新列,其中第一行是 1+2 的总和,第二行是 1+2+3 的总和,第三行是总和 1+2+3+4 等等。

由于 1, 2, 3, 4... 是 hipoteticall 值,我需要测量从十年到另一个的绝对增长,以便稍后创建一个新变量来衡量从十年到另一个的百分比变化。

标签: r

解决方案


library(tibble)
df1<- tibble(Years=c(1990, 2000, 2010, 2020, 2030, 2050, 2060, 2070, 2080),
             Values=c(1,2,3,4,5,6,7,8,9 ))

library(slider)
library(dplyr, warn.conflicts = F)

df1 %>%
  mutate(xx = slide_sum(Values, after = 1, before = Inf))
#> # A tibble: 9 x 3
#>   Years Values    xx
#>   <dbl>  <dbl> <dbl>
#> 1  1990      1     3
#> 2  2000      2     6
#> 3  2010      3    10
#> 4  2020      4    15
#> 5  2030      5    21
#> 6  2050      6    28
#> 7  2060      7    36
#> 8  2070      8    45
#> 9  2080      9    45

reprex 包于 2021-08-12 创建 (v2.0.0 )


推荐阅读