我想知道是否可以使用dplyr
的{{1}}函数将新列添加到数据框,该数据框是来自其他列的多个行值的函数。例如,如果我的数据框mutate
包含df
列和a
,并且想要创建新列b
,c
,我可以使用c = a[n] + b[n +1]
有一个mutate
循环?
我尝试了下面的代码,但它没有工作:
for
答案 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