R语言学习数据科学与R语言Python语言与信息数据获取和机器学习

[数析学院]对比带有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值元素,那么对比结果将于我们在上文中所见的一致。

函数运用实例 

布尔值向量对比:

这种方法同样适用于因素变量,即使用于对比的因素具有不同的层级次序:

[数析学院]

我们致力于打造更加精要的课程,如果小伙伴们在工作和学习中遇到什么问题,可以给我们留言。

上一篇下一篇

猜你喜欢

热点阅读