首页 > 解决方案 > 为什么 gsub 不替换 NA

问题描述

目标

在字符向量中替换NA"Nothing"

输入

data<-c(NA, NA, "SupineAcid", NA, NA, NA, "UprightAcid", "UprightAcid", 
NA, NA, "UprightAcid", NA, "UprightAcid", NA, NA, "UprightAcid", 
"TotalAcid", NA, NA, NA)

尝试

gsub(NA,"dd",data)

这导致所有结果都是 NA

我也尝试过"NA"fixed=TRUE同样的问题。

标签: r

解决方案


为了更改NA向量中的元素,您可以使用以下is.na函数:

data[is.na(data)] = "dd"

 "dd"          "dd"          "SupineAcid"  "dd"          "dd"          "dd"          "UprightAcid"
 "UprightAcid" "dd"          "dd"          "UprightAcid" "dd"          "UprightAcid" "dd"         
 "dd"          "UprightAcid" "TotalAcid"   "dd"          "dd"          "dd"

推荐阅读