learning R with swirl-missing value

   缺失值在数据分析中有重要的作用,我们需要认真了解是什么原因导致了它的缺失。在R语言中,NA代表了不确定和缺失。

   缺失值做算术运算还是缺失值NA。

   首先根据正态分布随机生成1000个数字序列。这里我们要注意:norm()是正态分布,在前面加r表示生成随机正态分布数列。learning R with swirl-missing value

   然后用rep()函数生成包含1000个缺失值的变量。learning R with swirl-missing value

   然后我们混合2000个数值,使用sample()从中抽取100个数值。learning R with swirl-missing value

   如果我们想弄清楚,抽取的值中,哪些值是缺失值,则我们可以使用is.na()函数来进行操作。


learning R with swirl-missing value

但当我们用"=="来尝试达到相同的效果的时候,可能无法达到。

learning R with swirl-missing value

你得到全是缺失值的原因是因为缺失值不是一个值,而是占位符。因此逻辑表达式是不完整的,因此R只能返回一个与my_data相同长度的NA值。因此使用逻辑表达的时候用NA需要小心。

     在R语言中,TRUE代表1,FALSE代表0,因此我们利用sum()函数可以计算出TRUE的个数。例如learning R with swirl-missing value

     以上讲述的是NA(not available)的缺失值,下面再看第二种缺失值NaN(not a number),它代表不是一个数,例如0/0.

     在R语言中,Inf代表着无穷大,无穷大减去无穷大同样得到的是NaN。