簡體   English   中英

R子集特定值還返回NA?

[英]R Subsetting Specific Value Also Returns NA?

我剛開始學習R,遇到了如下一段代碼

vec_1 <- c("a","b", NA, "c","d")

# create a subet of all elements which equal "a"
vec_1[vec_1 == "a"]

結果是

## [1] "a" NA

我只是好奇,因為我將vec_1為值“ a”,為什么NA也出現在我的結果中?

這是因為== NA的任何結果都是NA 即使NA == NA也是NA

這是vec_1 == "a"的輸出-

[1] TRUE FALSE NA FALSE FALSE

並且NA不是TRUEFALSE因此當您用NA子集化任何內容時,您會得到NA 看一下這個 -

vec_1[NA]
[1] NA NA NA NA NA

當處理NAR嘗試提供最有用的答案,即T | NA T | NA返回TRUE是因為NA無關緊要。 這里還有更多示例-

T | NA
[1] TRUE

F | NA
[1] NA

T & NA
[1] NA

F & NA
[1] FALSE

R無法測試與NA相等性。 您可以使用%in%運算符-

5 %in% NA
[1] FALSE

"a" %in% NA
[1] FALSE

vec_1[vec_1 %in% "a"]
[1] "a"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM