CRAN包开发:重载歧义Solaris

时间:2017-04-16 14:31:13

标签: r package cran r-package

我收到一封电子邮件,说我的R包有一些Solaris问题。

在邮件中说:

  

最近更新/添加的带有Solaris ERROR的CRAN包

     

对于imputeTS,这可以在Linux上重现,而不需要长时间的双倍:请参阅   §1.6手册。重载模糊性在§1.6.4中有所涉及   手册。

我认为手册本手册的意思是: https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Portable-C-and-C_002b_002b-code

问题是,我真的不知道该怎么做以及如何修复错误。

CRAN包检查错误消息如下: (另见https://cran.r-project.org/web/checks/check_results_imputeTS.html

  

版本:2.0检查:测试结果:错误        跑'testthat.R'[321s / 321s]       在'tests / testthat.R'中运行测试失败。       完成输出:

     
    

库(testthat)     test_check( “imputeTS”)          加载所需的包:imputeTS          1.失败:使用修改后的tsAirgap数据集(最后的附加NA)校正所有选项的结果(@ test-na.kalman.R#14)          round(mean(na.kalman(x,model =“StructTS”,smooth = T)),digits = 4)与276.1923不同。          1/1不匹配          [1] 276 - 276 == -1e-04

  

问题的代码如下(错误实际出现在单元测试中,而不是代码本身)

test_that("Correct results for all options with a modifed tsAirgap dataset (additionalNAs at start)",
      {
        #Using mean over resulting vector to check correctness
        #In order to avoid writing down the complete resulting vector
        #Using rounded version in order to avoid writing down all decimals
        x <- tsAirgap
        x[1:5] <- NA
        expect_that( round(mean(na.kalman( x, model="auto.arima", smooth = T )), digits = 4),  is_identical_to(285.0746) )
        expect_that( round(mean(na.kalman( x, model="auto.arima", smooth = F )), digits = 4),  is_identical_to(291.2712) )
        expect_that( round(mean(na.kalman( x, model="StructTS", smooth = T )), digits = 4),  is_identical_to(280.3522) )
        expect_that( round(mean(na.kalman( x, model="StructTS", smooth = F )), digits = 4),  is_identical_to(280.4274) )
      })

我认为,它必须与使用的双重类型有关...可能在某处我必须添加一个演员......

接下来的问题当然是我无法在solaris上测试...

0 个答案:

没有答案