我正在尝试订购包含NA的简单数字矢量。在运行测试时,我遇到了order
函数的某些意外行为。
第三行不是我所期望的:
order(c(3,5,4,NA))
[1] 1 3 2 4
order(c(3,5,4,NA), na.last = TRUE)
[1] 1 3 2 4
order(c(3,5,4,NA), na.last = FALSE)
[1] 4 1 3 2
对于最后的结果,我希望NA在序列中排在第一位。
order(c(3,5,4,NA), na.last = FALSE)
[1] 2 4 3 1
类似于以下两个“正确”示例:
order(c(3,NA,5,4), na.last = FALSE)
[1] 2 1 4 3
order(c(NA,3,5,4), na.last = FALSE)
[1] 1 2 4 3
R version 3.5.2 (2018-12-20)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 9 (stretch)
顺便说一句,我也尝试运行:
base::order(c(3,5,4,NA), na.last = FALSE)
[1] 4 1 3 2
我想念什么?