我试图用递增的数字填充数据框列的其余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()函数,但我不太了解。
答案 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)