使用包含第n行值的函数mutate

时间:2017-07-24 18:30:15

标签: r for-loop dplyr mutate

我想知道是否可以使用dplyr的{​​{1}}函数将新列添加到数据框,该数据框是来自其他列的多个行值的函数。例如,如果我的数据框mutate包含df列和a,并且想要创建新列bc,我可以使用c = a[n] + b[n +1]有一个mutate循环?

我尝试了下面的代码,但它没有工作:

for

1 个答案:

答案 0 :(得分:3)

您可能正在寻找的函数lead,以便将b的视图偏移一条记录。那么命令就是

df %>% mutate(c=a + lead(b, 1))

例如,

> data.frame(a=1:10, b=1:10) %>% mutate(c = a + lead(b, 1))
    a  b  c
1   1  1  3
2   2  2  5
3   3  3  7
4   4  4  9
5   5  5 11
6   6  6 13
7   7  7 15
8   8  8 17
9   9  9 19
10 10 10 NA