r - order(x, na.last = FALSE) 的意外行为
问题描述
我正在尝试订购一个简单的数字向量,包括 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
我错过了什么?
解决方案
推荐阅读
- swagger - 除了使用“body”属性来使用 OpenAPI/Swagger 和“aws_api_gateway_rest_api”,还有其他选择吗?
- node.js - 如何通过与 Angular Web 应用程序相同的域访问 API
- ssl - 为什么谷歌管理的 SSL 证书需要域 DNS 指向静态 IP 地址而不是负载均衡器本身?
- javascript - Node.js - process.exit(-1)
- django - Django Rest Framework 使用具有不同渲染器的视图集
- python - 如何使用 Python 启用 Google Assistant API 的新“阅读”功能?
- qt - Qt:QPushButton 垂直大小,适合内容吗?
- java - 我应该如何处理构造函数抛出的异常
- javascript - 如何检查字符串是否包含特定索引/位置的值?
- python - KivyMD 回调(自我,实例)示例