Basics-R中NULL, NA, NaN的處理

貢獻者馬柑鈴

問題

你想正確處理NULL涎拉、NA (Not Available)晾咪、NaN(Not a Number)。

方案

你的數(shù)據(jù)有時將會存在NULL鞋既、NA 力九、NaN耍铜。處理這些數(shù)據(jù)有些不同于”正常”值跌前,并可能需要確定性測試棕兼。

以下是這些值相比較的例子:

x <- NULL
x > 5
# logical(0)

y <- NA
y > 5
# NA

z <- NaN
z > 5
# NA

如何測試某個變量是否是其中的一個值:

is.null(x)
# TRUE

is.na(y)
# TRUE

is.nan(z)
# TRUE

注意,NULL不同于其他兩個抵乓。NULL意味著沒有值伴挚,而NANaN表示有價,盡管也許是不可用的灾炭。下面有一個例子區(qū)分:

# Is y null?
is.null(y)
# FALSE

# Is x NA?
is.na(x)
# logical(0)
# Warning message:
# In is.na(x) : is.na() applied to non-(list or vector) of type 'NULL'

第一個例子茎芋,檢查y是否是NULL,結(jié)果y并不是蜈出;第二個例子田弥,試圖檢查x是否是NA,但并沒有值被檢測铡原。

忽視向量匯總函數(shù)中的“壞”值

如果你對包含NANaN的向量使用諸如mean()sum()之類的函數(shù)偷厦,結(jié)果將返回NANaN,這通常沒有任何意義燕刻,雖然這樣的結(jié)果會提醒你有“壞”值的存在只泼。許多函數(shù)都有na.rm可以將這些值忽略。

vy <- c(1, 2, 3, NA, 5)
# 1  2  3 NA  5
mean(vy)
# NA
mean(vy, na.rm=TRUE)
# 2.75

vz <- c(1, 2, 3, NaN, 5)
# 1   2   3 NaN   5
sum(vz)
# NaN
sum(vz, na.rm=TRUE)
# 11

# NULL不是問題卵洗,因為它不存在
vx <- c(1, 2, 3, NULL, 5)
# 1 2 3 5
sum(vx)
# 11

從向量中移除”壞值“

使用is.na()is.nan()的反向函數(shù)辜妓,可以將這些值移除。

vy
# 1  2  3 NA  5
vy[!is.na(vy)]
# 1  2  3  5

vz
# 1   2   3 NaN   5
vz[!is.nan(vz)]
# 1  2  3  5

注意

也有無限值Inf-Inf忌怎,及其相應(yīng)的函數(shù)is.finite()is.infinite()籍滴。

/Manipulating data/Comparing vectors or factors with NA


原文鏈接:http://www.cookbook-r.com/Basics/Working_with_NULL_NA_and_NaN/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市榴啸,隨后出現(xiàn)的幾起案子孽惰,更是在濱河造成了極大的恐慌,老刑警劉巖鸥印,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件勋功,死亡現(xiàn)場離奇詭異,居然都是意外死亡库说,警方通過查閱死者的電腦和手機狂鞋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來潜的,“玉大人骚揍,你說我怎么就攤上這事。” “怎么了信不?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵嘲叔,是天一觀的道長。 經(jīng)常有香客問我抽活,道長硫戈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任下硕,我火速辦了婚禮丁逝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘梭姓。我一直安慰自己果港,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布糊昙。 她就那樣靜靜地躺著,像睡著了一般谢谦。 火紅的嫁衣襯著肌膚如雪释牺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天回挽,我揣著相機與錄音没咙,去河邊找鬼。 笑死千劈,一個胖子當(dāng)著我的面吹牛祭刚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播墙牌,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼涡驮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了喜滨?” 一聲冷哼從身側(cè)響起捉捅,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎虽风,沒想到半個月后棒口,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡辜膝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年无牵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厂抖。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡茎毁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出忱辅,到底是詐尸還是另有隱情充岛,我是刑警寧澤保檐,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站崔梗,受9級特大地震影響夜只,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蒜魄,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一扔亥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谈为,春花似錦旅挤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至秕脓,卻和暖如春柒瓣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吠架。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工芙贫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人傍药。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓磺平,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拐辽。 傳聞我的和親對象是個殘疾皇子拣挪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 問題 你想正確處理NULL、NA (Not Available)俱诸、NaN(Not a Number)媒吗。 方案 你的...
    杏月阿六閱讀 1,924評論 0 2
  • 在挖掘分析的過程當(dāng)中對字符串的處理是極為重要的,且出現(xiàn)也較為頻繁乙埃,R語言作為當(dāng)前最為流行的開源數(shù)據(jù)分析和可視化平臺...
    果果哥哥BBQ閱讀 5,793評論 0 8
  • 姓名:梁涵瑜闸英,年齡9歲 第1小組 自鄭州親子班結(jié)束,家長和孩子成為同學(xué)介袜,共同制定清單甫何,開始踐行,規(guī)劃自己的...
    梁正欣閱讀 200評論 0 0
  • 有個人死了巍耗,他才剛剛意識到自己的生命如此短暫秋麸。這時,他看見佛祖手拎一個箱子向他走來炬太。佛祖說:“好了灸蟆,我們走吧∏鬃澹”男...
    心疼你的疼閱讀 22,949評論 0 0
  • 閱讀【西游殤】小說炒考,請點:傳送門 悟空 立于乾坤與天齊,一聲大圣四海揚霎迫。 前路縱使妖魔海斋枢,齊天威勢不...
    傅人閱讀 2,052評論 68 55