小编Col*_*ole的帖子

R:列值的滚动计算(避免循环)

我想根据前一行和同一列的值逐步增加一个新列。你可以用一个循环来做,就像这样:

df <- data.frame(a = 2000:2010,
                 b = 10:20,
                 c = seq(1000, 11000, 1000),
                 x = 1000)
for(i in 2:nrow(df)) df$x[i] <- (df$c[i]) * df$a[i-1] / df$x[i-1] + df$b[i] * df$a[i]
df
      a  b     c        x
1  2000 10  1000  1000.00
2  2001 11  2000 26011.00
3  2002 12  3000 24254.79
4  2003 13  4000 26369.16
5  2004 14  5000 28435.80
6  2005 15  6000 30497.85
7  2006 16  7000 32556.20
8  2007 17  8000 34611.93
9  2008 18  9000 …
Run Code Online (Sandbox Code Playgroud)

loops r increment dataframe

2
推荐指数
1
解决办法
141
查看次数

标签 统计

dataframe ×1

increment ×1

loops ×1

r ×1