Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
为什么第一行返回TRUE,第三行返回1?我希望这两行都返回 1。第三行中额外的两个括号的确切含义是什么?
!is.na(5) + !is.na(NA) # TRUE (!is.na(5)) + (!is.na(NA)) # 1
编辑:应该多次检查这些。最初的问题是!is.na(),认为它复制了is.na()。但它没有:)
!is.na()
is.na()
!在 R 中有一个奇怪的、违反直觉的优先级。
!
您的第一个代码相当于
!(is.na(5) + !is.na(NA))
也就是说,!优先级低于+。
+