订单的异常行为(x,na.last = FALSE)

时间:2019-03-27 18:43:26

标签: r base

我正在尝试订购包含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

我想念什么?

0 个答案:

没有答案