【发布时间】:2021-06-27 15:58:33
【问题描述】:
有什么方法可以将数据框中可能存在的所有“-95”替换为所有列中的 NA?
谢谢
【问题讨论】:
标签: if-statement replace na missing-data
有什么方法可以将数据框中可能存在的所有“-95”替换为所有列中的 NA?
谢谢
【问题讨论】:
标签: if-statement replace na missing-data
这就是答案:)
df[df=="-95"]<-NA
【讨论】:
您自己已经找到了解决方案,太好了。
如果你有更复杂的情况,你有多个值需要转换成 NA,也许根据一些特定的条件,naniar 包会很有帮助。有以下功能:
naniar::replace_with_na()
naniar::replace_with_na_if()
naniar::replace_with_na_at()
这些非常有用,而且非常强大。最好的介绍可能是查看这些函数的documentation。
这是一个小例子,如果您有一个带有 x 和 z 变量的数据框,并且对于您的 x,您希望将 -99 和 -98 编码为 NA,而对于您的 z 变量您希望将 -99 和 -97 编码为 NA。
library(naniar)
df %>%
replace_with_na(replace = list(x = c(-99,-98),
z = c(-99, -97)))
【讨论】: