将空白元素解释为R函数因子()中的有效因子元素的好处是什么?

时间:2017-02-13 17:11:50

标签: r type-conversion character na

基本R函数factor()将由空格组成的字符元素解释为有效因子元素而不是NA。解释这样的空白字符元素有什么好处?这是保留兼容性的遗留功能吗?

示例:

  

因子(C( “一”, “一个”, “”, “B”))

我意识到这不是一个普通的问题,可以通过一个可重复的例子作为起点来解决,但我决定尝试一下。让factor()解释这样的空白字符元素的设计决定让我很困惑。在我看来,它会简化事情而没有明显的缺点,将这些元素解释为NA

1 个答案:

答案 0 :(得分:5)

  

解释这样的空白字符元素有什么好处?

因为空字符串数据通常表示“这是一个空字符串”,而不是“这是缺少数据”。

这取决于当然的用法:空的“名称”字段很可能是缺少数据。但是一个空的“标题”字段就是:没有标题。如何编码缺少标题(假设“先生”和“太太”有一个单独的字段,可能不是这样)。

对于因素,拥有空标签的意义不大。但是,R倾向于将字符串非常自由地转换为因子(特别是在从文件中读取表格数据时),并将所有这些空值视为NA会导致大量错误注释的数据。通常,这种隐式转换应始终是无损的,即保留转换的整个值域。