R CMD检查失败,devtools :: test()工作正常

时间:2017-02-16 11:04:43

标签: r

当您手动运行(或使用devtools :: test())所有测试运行正常时,有时R CMD检查失败。

当我想要使用启动包比较bootstrapping的结果时,我遇到了其中一个问题。 我进入了一个兔子洞,寻找由并行计算(由启动完成)和随机数生成器(RNG)引起的问题。

这些都不是答案。

1 个答案:

答案 0 :(得分:5)

最后,问题是微不足道的。 我使用base :: sort()来创建一个因子的级别。 (确保它们始终对齐,即使数据的顺序不同)

问题是,默认排序方法取决于系统的区域设置。 R CMD检查使用的语言环境与交互式会话不同。

问题在于: 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).

我现在通过指定基数排序方法解决了这个问题。

现在,一切正常。