7
==
の同等物がありますが、の場合はx
がNA
ではありませんか?R NAsを無視して同等である
次は、私が欲しいものを行いますが、それは不格好です:
mapply(identical, vec1, vec2)
==
の同等物がありますが、の場合はx
がNA
ではありませんか?R NAsを無視して同等である
次は、私が欲しいものを行いますが、それは不格好です:
mapply(identical, vec1, vec2)
むしろTRUE
またはFALSE
より論理NA
を返し1 == NA
。あなたがNA
FALSE
を呼び出したい場合は、第2の条件を追加することができます。
set.seed(1)
x <- 1:10
x[4] <- NA
y <- sample(1:10, 10)
x <= y
# [1] TRUE TRUE TRUE NA FALSE TRUE TRUE FALSE TRUE FALSE
x <= y & !is.na(x)
# [1] TRUE TRUE TRUE FALSE FALSE TRUE TRUE FALSE TRUE FALSE
はまたFALSE
にあなたの平等のテストからすべてのNA
値を変換する第2の処理ステップを使用することができます。また
foo <- x <= y
foo[is.na(foo)] <- FALSE
foo
# [1] TRUE TRUE TRUE FALSE FALSE TRUE TRUE FALSE TRUE FALSE
、何のためにその価値は、NA == NA
戻りNA
NA != NA
がそうであるように。
ANDをやらなければならないのは面倒ですが、もっと良い方法がないかと思います。 – Xodarap
どうですか?代わりにあなたは何を提案しますか?非常に重要な理由から、 'NA'は特別なやり方で動作します(' NULL'も同様です)! – Justin
'=='の振る舞いは貴重ですが、私が望む振る舞いをする演算子 '== ''があったらいいと思います。 (Rはユーザ定義の演算子を許可していません) – Xodarap