我有一个具有以下结构和值的数据框:
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中动态生成它吗?
答案 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))