3

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

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 中动态生成它吗?

4

1 回答 1

5

这是一个非常基本的问题。您可以通过删除第二列的第一个条目,从中减去 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))
于 2013-07-12T15:08:29.933 回答