如何在整个数据框中用 NA 替换值

How to replace a value with NA across an entire dataframe

有没有办法用所有列的 NA 替换数据框中可能存在的所有“-95”?

这段代码对我有用:

df[df=="-95"]<-NA

如果你有更复杂的情况,你有多个值需要转换成 NA,也许根据某些特定条件,naniar 包会很有帮助。有以下功能:

naniar::replace_with_na()
naniar::replace_with_na_if()
naniar::replace_with_na_at()

这些可能非常有用并且非常强大。最好的介绍可能是查看这些函数的 documentation

这里是一个小例子,如果你有一个带有 xz 变量的数据帧,并且对于你的 x 你想将 -99 和 -98 编码为 NA ,而对于您的 z 变量,您希望将 -99 和 -97 编码为 NA。

library(naniar)
df %>%
  replace_with_na(replace = list(x = c(-99,-98),
                             z = c(-99, -97)))