7
==
eşdeğeri var mı, yoksa x
ise NA
değil midir?R NA'lar yoksayılırken eşitlik
şu ne istiyorum, ama o aksak var:
mapply(identical, vec1, vec2)
==
eşdeğeri var mı, yoksa x
ise NA
değil midir?R NA'lar yoksayılırken eşitlik
şu ne istiyorum, ama o aksak var:
mapply(identical, vec1, vec2)
1 == NA
mantıksal NA
yerine TRUE
veya FALSE
döndürür. Eğer NA
FALSE
aramak isterseniz, ikinci koşullu ekleyebilirsiniz:
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
Ayrıca FALSE
için eşitlik testinden tüm NA
değerlerini dönüştürmek için ikinci bir işlem adımını kullanabilirsiniz. Ayrıca
foo <- x <= y
foo[is.na(foo)] <- FALSE
foo
# [1] TRUE TRUE TRUE FALSE FALSE TRUE TRUE FALSE TRUE FALSE
, ne için onun değerinde, NA == NA
döner NA
NA != NA
yaptığı gibi.
Biraz can sıkıcı bir AND yapmak zorunda kalmak, ama iyi bir yol olup olmadığını sanırım. – Xodarap
Ne kadar? Bunun yerine ne önerirsin? 'NA', çok önemli nedenlerle özel bir şekilde (yani NULL'de) davranır! – Justin
'==' nin davranışının değerli olduğunu anlıyorum ama keşke ben de istediğim gibi davranan bir operatör olsaydım. (R, doğru kullanıcı tanımlı operatörler izin vermez?) – Xodarap