почему gsub не заменяет NA - PullRequest
0 голосов
/ 12 ноября 2018

Aim

Заменить NA на "Nothing" в символьном векторе

Input

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, но та же проблема.

Ответы [ 3 ]

0 голосов
/ 12 ноября 2018

NA - это не то же самое, что «NA». Если вы убедитесь, что в первом и третьем аргументах используется «NA», это сработает.

sub("NA", "dd", paste(data))

Поочередно

ifelse(is.na(data), "dd", data)
0 голосов
/ 12 ноября 2018

Другой вариант - replace

replace(data, is.na(data), 'dd')
0 голосов
/ 12 ноября 2018

Чтобы изменить элементы 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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...