可以提供给c()的字符串,它将在R中生成NA

时间:2019-01-28 07:47:14

标签: r

在声明字符向量时,R是否会识别出任何字符串作为NA?也就是说,我追求可以像其他字符串一样放在""里面的东西

我尝试过:

NA_character_,但没有"",这是可行的,但是我需要它具有""

c("abc", "def", NA_character_) %>% .[3] %>% is.na
# TRUE

使用"NA_character_"时(即与"一起使用)

c("abc", "def", "NA_character_") %>% .[3] %>% is.na
# FALSE

其他尝试

c("abc", "def", "NA") %>% .[3] %>% is.na
# FALSE
c("abc", "def", "<NA>") %>% .[3] %>% is.na
# FALSE
c("abc", "def", "") %>% .[3] %>% is.na
# FALSE

我基本上在任何一个单词或字符串之后,当在字符向量的分配中将它们包装在""中时,将为该字符向量的那个元素产生NA

注意:我愿意接受骇人听闻的解决方案!

1 个答案:

答案 0 :(得分:1)

不确定是否适合您,但是您可以更改is.na函数,使其表现出您喜欢的确切方式。

is.na.new <- function(x){
  (is.na(x) | x== "NA_character_")
}
  

is.na.new(c(NA,5,4,“ NA_character_”))
  [1]是否是是

除此之外,我还没有听说过任何定义新缺失值指标的方法。