R語言中"NA"與"NULL"的區別


 

在R語言中,缺失值用 NA 表示,空值用 NULL 表示。初學者在學習R語言時,一般都會被這兩者弄糊塗,常常錯誤地把這兩者視為等價的。

下面,通過代碼演示來說明它們的不同:

首先看 NA :

x <- vector(length= 3); x

[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

x <-c(NA,NA,NA) ;  x

[1] NA NA NA

length(x)
[1] 3
 

再看NULL:

x <- vector(length= 3); x

[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

x <- c(NULL,NULL,NULL) ; x

NULL

length(x)

[1] 0

 從上面可以看出,NA與NULL的差別還是非常明顯的。用一個比喻來講,NA是已經挖好了一些坑,只是里面沒有蘿卜而已,這就是所謂的“缺失值”。而NULL則指的是“壓根連坑都沒有”。一個元素值全為NA的向量,它的長度是存在的,就等於元素的個數。而如果把一個向量的所有元素的值都設為NULL,這個向量就變成了“空值”,其長度為0,表明“空無一物”。

所以說,NULL比NA更悲劇。

 

【參考資料】

薛毅,R語言與統計建模


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM