【发布时间】:2019-01-27 00:08:49
【问题描述】:
在 R 中工作时遇到问题
我在数据框(df)中有一个变量(X),看起来像这样
df$X
NA
12345
NA
NA
32409
NA
NA
NA
NA
NA
04598
NA
NA
NA
我需要做以下事情:
如果 X 不是 NA,请替换:
- X 中具有值的前一行
- 填写剩余的行,直到达到下一个值
最终,它需要看起来像这样
df$X
12345
12345
12345
32409
32409
32409
32409
32409
32409
04598
04598
04598
04598
04598
我尝试使用 for 循环来完成第一部分(填充上一行),但似乎无法让它工作
for (x in df$X) {
x = df$X[x]
y = x -1
df$X[y] <- ifelse(!is.na(x), x, NA)
}
非常感谢您的帮助!
【问题讨论】:
-
你的问题不清楚。你想做什么还没有完全理解。
标签: r for-loop if-statement dplyr fill