通过在多列中用 NA 替换“<LOD”来整理数据

tidy data by replacing "<LOD" with NA in multiple columns

我得到了一些科学数据,这些数据已从 CSV 文件导入到 R

不幸的是,我的值是“

我知道变异和

tb<-tibble(
      Mg=c(1,2,4,5,"<LOD"),
      Hg=c(5,10,15,"<LOD",11),
      Fe=c(15,"<LOD",10,4,23)
    )

我知道这样的方法可行,但我有 100 个变量,我需要对所有变量都执行此操作。有谁知道我如何快速将它应用到我的所有专栏我试过 Mutate_all 但 Str_replace 需要定义字符串。

tb%>%mutate(Mg=str_replace(Mg,string="<LOD", replacement = NA_character_))

谢谢

na_if 可以在完整数据集上明智地执行此列

library(dplyr)
tb <- tb %>%
   na_if("<LOD") %>%
   type.convert(as.is = TRUE)

-输出

tb
# A tibble: 5 × 3
     Mg    Hg    Fe
  <int> <int> <int>
1     1     5    15
2     2    10    NA
3     4    15    10
4     5    NA     4
5    NA    11    23

也可以通过across

循环完成
tb <- tb %>%
      mutate(across(everything(), ~ as.numeric(na_if(.x, "<LOD"))))