从下一行的值向数据框添加列

时间:2013-07-12 15:06:25

标签: r

我有一个具有以下结构和值的数据框:

total_size <- 5000;
id line_number
1   1232
2   1456
3   1832
4   2002

我需要使用next_row中的值动态地向数据框添加新列。即: 新列值应为:(line_number)下一行-1。应使用total_size值填充最后一行的值。

我需要制作的最终输出是:

id line_number   end_line_number
1   1232         1455
2   1456         1831
3   1832         2001
4   2002         5000

知道如何在R中动态生成它吗?

1 个答案:

答案 0 :(得分:3)

这是非常基本的问题。您可以通过删除第二列的第一个条目,从中减去1并为最后一个条目添加NA来创建新列。

# assuming your data.frame is called 'dt'
dt$end_line_number <- c(dt$line_number[-1]-1, NA)

(或)使用transform

dt <- transform(dt, end_line_number = c(line_number[-1]-1, NA))