[数析学院]对比带有NA值的向量或因素
2016-06-24 本文已影响32人
Datartisan数据工匠
问题 Problem
在R中,如何对含有NA值的向量或因素进行逐对比较,并且正确的返回TRUE和FALSE(而不是NA)呢?
指南 Solution
假设我们拥有的数据是这样一个列数为2的布尔值向量数据框形式:
通常情况下,当你对一组带有NA值的向量或因素进行对比时,只要用于对比的双方个体值中的任意一方为NA,那么在返回的结果向量中对应位置的结果也会为NA。在我们看来,这样的结果也许并不尽如人意。
构建支持NA值对比的函数
下文中我们构建的函数将实质性的解决带有NA值的序列问题。在这个函数中,我们会把NA当作一个另外的值进行处理:如果两个用于对比的向量中所有元素都为NA,那么函数将对返回TRUE;如果只有其中一个向量中存在NA值元素,那么它将返回FALSE;如果对比的向量中都没有NA值元素,那么对比结果将于我们在上文中所见的一致。
函数运用实例
布尔值向量对比:
这种方法同样适用于因素变量,即使用于对比的因素具有不同的层级次序:
[数析学院]
我们致力于打造更加精要的课程,如果小伙伴们在工作和学习中遇到什么问题,可以给我们留言。