Почему первая строка возвращает ИСТИНА, а третья строка возвращает 1? Я ожидаю, что обе строки вернут 1. Каково точное значение этих двух дополнительных скобок в третьей строке?
!is.na(5) + !is.na(NA)
# TRUE
(!is.na(5)) + (!is.na(NA))
# 1
редактировать: следует проверять это несколько раз. Первоначальная проблема была с !is.na()
, думал, что она повторяется для is.na()
. Но не получилось :)
!TRUE + FALSE equals FALSE
иFALSE + !TRUE equals 0
Это ранит мой мозг. 15.07.2013codetools::showTree(quote(!is.na(5) + !is.na(NA)))
15.07.2013