【发布时间】:2017-07-05 10:56:55
【问题描述】:
当您手动运行(或使用 devtools::test())时,当所有测试运行正常时,有时 R CMD 检查会失败。
当我想比较使用引导包进行引导的结果时,我也遇到了此类问题之一。 我进入了一个兔子洞,寻找由并行计算(通过引导完成)和随机数生成器 (RNG) 引起的问题。
这些都不是答案。
【问题讨论】:
标签: r
当您手动运行(或使用 devtools::test())时,当所有测试运行正常时,有时 R CMD 检查会失败。
当我想比较使用引导包进行引导的结果时,我也遇到了此类问题之一。 我进入了一个兔子洞,寻找由并行计算(通过引导完成)和随机数生成器 (RNG) 引起的问题。
这些都不是答案。
【问题讨论】:
标签: r
最后,这个问题是微不足道的。 我使用 base::sort() 来创建因子的级别。 (以确保它们始终对齐,即使数据的顺序不同)
问题是,默认排序方法取决于系统的区域设置。并且 R CMD check 使用与我的交互式会话不同的语言环境。
问题在于: R交互使用:LC_COLLATE=en_US.UTF-8; R 使用的 CMD 检查:LC_COLLATE=C;
在 base::sort 的细节中提到了这一点:
Except for method ‘"radix"’, the sort order for character vectors
will depend on the collating sequence of the locale in use:
see ‘Comparison’. The sort order for factors is the order of their
levels (which is particularly appropriate for ordered factors).
我现在通过指定基数排序方法解决了这个问题。
现在,一切正常。
【讨论】: