我的数据框中有两列,值和num_leads。我想创建第三列来存储下面n行中的值的值-其中n是存储在num_leads中的任何数字。这是一个示例:
df1 <- data.frame(value = c(1:5),
num_leads = c(2, 3, 1, 1, 0))
所需的输出:
value num_leads result
1 1 2 3
2 2 3 5
3 3 1 4
4 4 1 5
5 5 0 5
我尝试在dplyr中使用Lead函数,但不幸的是,似乎所有的Lead必须具有相同的编号。
答案 0 :(得分:2)
使用索引
with(df1, value[seq_along(value) + num_leads])
其中seq_along(value)
给出行号,通过添加到num_leads
中,您可以提取正确的值
答案 1 :(得分:1)
这是我想出的:
df1$result <- df1$value[df1$value + df1$num_leads]