我有這個數據幀有兩列,其值可以是left
或right
。R:在兩列上的邏輯運算在兩個列表中都存在NA
test_df <- data.frame(col1 = c("right","left","right",NA),
col2 = c("left","right",NA,"right"))
test_df
# col1 col2
# 1 right left
# 2 left right
# 3 right <NA>
# 4 <NA> right
現在我要測試的這款多重條件
test_df$col1 == "left" | test_df$col2 == "right"
# [1] FALSE TRUE NA TRUE
前三個結果如預期,但爲什麼最後的結果是TRUE
而不是NA
。第3排和第4排的結果有什麼不同?
@RHertel如何讓R在返回之前檢查兩個條件,並在任何一個是NA時返回NA? – CptNemo
爲了使其他讀者的完整性和更好的可見性,我發表了我的評論作爲答案。 – RHertel