用递增序号填充数据框列

时间:2019-01-08 17:12:11

标签: r

我试图用递增的数字填充数据框列的其余NA值,从最后一个已知的数字开始。这是问题的一个示例:

df <- data.frame(var1 = c(1:5), var2 = c(1,2,3, NA, NA)) 

我希望var2中的两个NA为4和5(即从1,2,3 ...到末尾的延续)。我有大约15列和10,000个案例。感觉应该很简单,excel中的等效功能是突出显示前两个单元格并向下拖动选择(即扩展)。

我在tidyr中查看了complete()函数,但我不太了解。

1 个答案:

答案 0 :(得分:2)

您可以这样做:

df <- data.frame(var1 = c(1:5), var2 = c(1,2,3, NA, NA)) 

df$repl <- seq_len(nrow(df))

df$var2 <- ifelse(is.na(df$var2),
                  df$repl, df$var2)