代码之家  ›  专栏  ›  技术社区  ›  Science11

第二列和偏移量的累加和

  •  1
  • Science11  · 技术社区  · 6 年前

    这些是我列中的值

    Col1
    0.83
    2.01
    1.74
    2.26
    1.85
    

    Col1    Col2
    0.83    -
    2.01    7.86
    1.74    5.85
    2.26    4.11
    1.85    1.85
    

    这就是Col2中值背后的逻辑

    7.86 <-  2.01 + 1.74 + 2.26 +  1.85
    5.85 <-  1.74 + 2.26 +  1.85
    4.11 <-  2.26 +  1.85
    1.85 <-  1.85
    

    任何关于实现这一目标的建议都将不胜感激。

    1 回复  |  直到 6 年前
        1
  •  0
  •   akrun    6 年前

    我们可以做一个 rev 然后再做 cumsum

    c(NA, tail(rev(cumsum(rev(df$Col1))), -1))
    #[1]   NA 7.86 5.85 4.11 1.85
    

    df <- structure(list(Col1 = c(0.83, 2.01, 1.74, 2.26, 1.85)),
      class = "data.frame", row.names = c(NA, 
     -5L))