在r中添加下一行的值

时间:2018-03-02 03:55:26

标签: r

我有一张类似于:

的表格
   C1 C2 C3 C4 C5 C6
R1 2  3  5  7  8  8
R2 1  5  8  9  2  13 
R3 4  5  7  9  1

我想创建一个新的列“C6”,使得该值从R1C4加上R2C1得到8,并重复下一行R2C4加R3C1,在C6中给出13,并希望对整个表重复此操作。 / p>

非常感谢。非常感谢。

3 个答案:

答案 0 :(得分:4)

我们可以在lead使用dplyr

library(dplyr)
lead(df$C1) + df$C4

#[1]  8 13 NA

答案 1 :(得分:3)

我们可以使用base R删除' C1'的第一个元素,在末尾添加NA并添加' C4'柱

with(df1, c(C1[-1], NA) + C4)
#[1]  8 13 NA

答案 2 :(得分:-1)

也可以使用for循环:

for (r in 1:(nrow(ddf)-1)){
    ddf[r,'C6'] = ddf[r,'C4']+ ddf[r+1,'C1'] 
  }