如何将所有 <NotAvailable> 转换为 <NA>

how to convert all <NotAvailable> to <NA>

我有这个df

PoolQC          Fence           MiscFeature
<chr>           <chr>           <chhr>
<NOT AVAILABLE> <NOT AVAILABLE> <NOT AVAILABLE>     
<NOT AVAILABLE> <NOT AVAILABLE> <NOT AVAILABLE>     
<NOT AVAILABLE> <NOT AVAILABLE> <NOT AVAILABLE>     
<NOT AVAILABLE> <NOT AVAILABLE> <NOT AVAILABLE>     
<NOT AVAILABLE> <NOT AVAILABLE> <NOT AVAILABLE>     
<NOT AVAILABLE> MnPrv           Shed        
<NOT AVAILABLE> <NOT AVAILABLE> <NOT AVAILABLE>     
<NOT AVAILABLE> <NOT AVAILABLE> Shed        
<NOT AVAILABLE> <NOT AVAILABLE> <NOT AVAILABLE>     
<NOT AVAILABLE> <NOT AVAILABLE> <NOT AVAILABLE>

如何将所有 NOT AVAILABLE 转换为 NA,这样如果我 运行 此代码

df %>% 
  is.na() %>% 
  colSums() %>% 
  sort(decreasing = TRUE)

可以检测NA值

或者,我可以通过读取csv文件转换吗?

df = read.csv("C:/Users/x.csv", sep = ";")

假设我有以下数据框:

df <- data.frame(foo=c("<NOT AVAILABLE>", 2), bar=c(3, "<NOT AVAILABLE>"))

将出现的所有 <NOT AVAILABLE> 替换为 NA:

df[df == "<NOT AVAILABLE>"] <- NA

然后:

对于你的第二个问题,你可以设置特定的字符串在read.csv期间被解释为NA。示例:

result = read.csv(file, na.strings = "<NOT AVAILABLE>")