将默认NA从逻辑更改为字符

  • 本文关键字:字符 默认 NA r
  • 更新时间 :
  • 英文 :


是否有办法将整个R会话的默认NA(缺失)从逻辑更改为字符(NA_character_) ?

例如,如果您加载一个CSV,其中一列为空,它将被NA填充,并且该NA的类将是逻辑的。对于这个问题,我们想要一种方法来确保它总是NA_character_。不要与字面值字符串"NA"混淆。

更多的例子:


> class(NA)
"logical" # No!
> class(NA_character_)
"character" # Yes! but for NA!

不确定我是否理解,但您可以指定na.strings参数。

,

df <- read.table(text='
a    b  c d  e
1 56 43.0 12 1 NA
2 23   NA  7 2 45
3 15 90.7 10 3  2
4 10 30.5  2 4 NA', na.strings="", as.is=T)

:

> class(df$b)
[1] "character"
> 

据我所知,答案是否定的:

来自NA的文档

Details
The NA of character type is distinct from the string "NA". Programmers who need to specify an explicit missing string should use NA_character_ (rather than "NA") or set elements to NA using is.na<-.

我浏览了'options'函数的输入参数列表,似乎没有任何东西适用于这里。

我认为最好和最安全的方法是明确定义可能遇到的NAs。对于你的例子中的csv-case,我建议使用reader包,其中使用'col_type '来定义类。

相关内容

  • 没有找到相关文章

最新更新