此问题已在此处有答案:
Replacing NAs in R with nearest value(6个答案)
3年前关闭。
我正在尝试用我的R代码来填补缺失的名字。我看过了,没看到这个问题在这里。我有一个502X3的 Dataframe 。其中,我一次只做一个专栏。逻辑应读取,如果字段不是NA,则存储名称并移动到下一行。如果该字段为NA,则使用最后存储的名称填写该字段。下面的数据和代码片段。我不确定我在这里做错了什么。任何帮助将是美妙的。提前感谢您的时间。
实际数据集位于:https://pe.usps.com/text/pub28/28apc_002.htm
基本上,我把文件复制到Excel文档中,正在试图找到一种快速填空的方法。我有其他更大的文件,需要有这样做,所以这将是非常有益的,能够做到这一点非常快。也是一个很好的学习方法。:)
在这个例子中,我希望最后的列表是:“lodge”,“lodge”,“loop”,“loop”,“loop”,“mall”,“mall”,“manor”,“manor”,“manor”,“manor”
data <- c("lodge", "lodge", "loop", NA, NA, "mall", NA, "manor", NA, NA, NA)
i = 1
data[i]
name <- data[i]
len <- length(data)
for (i in len) {
name <- data[i]
if_else(is.na(name),
data[i] <- name,
name <- data[i])
i <- i + 1
}
data
4条答案
按热度按时间x6h2sr281#
我们也可以从
zoo
中得到na.locf
nlejzf6q2#
tidyr:fill
*:oxcyiej73#
可能有一个更简单的方法来做到这一点,但我只是修改了您的代码,使其工作。实际上,您可以定义一个存储姓氏的变量,如下所示:
希望能帮上忙。
mnemlml84#
我试图保持你的
for
循环结构,这样你就可以很容易地阅读它。使得