【问题标题】:R CMD check fails, devtools::test() works fineR CMD 检查失败,devtools::test() 工作正常
【发布时间】:2017-07-05 10:56:55
【问题描述】:

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

当我想比较使用引导包进行引导的结果时,我也遇到了此类问题之一。 我进入了一个兔子洞,寻找由并行计算(通过引导完成)和随机数生成器 (RNG) 引起的问题。

这些都不是答案。

【问题讨论】:

    标签: r


    【解决方案1】:

    最后,这个问题是微不足道的。 我使用 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).
    

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

    现在,一切正常。

    【讨论】:

      猜你喜欢
      • 2020-10-30
      • 1970-01-01
      • 2020-07-02
      • 2017-09-30
      • 2020-02-18
      • 2017-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多