test.data.table错误R

时间:2018-04-03 17:51:32

标签: r data.table

在我的新安装的R上测试data.table,并得到以下错误:

> test.data.table()
Error in eval(exprs[i], envir) : 
  10 errors out of 8403 (lastID=1887, endian==little, sizeof(long 
double)==16, sizeof(pointer)==8) in inst/tests/tests.Rraw on Tue Apr 03 
11:28:16 2018. Search tests.Rraw for test numbers: 546, 1693.4, 1693.5, 
1693.6, 1693.7, 1693.9, 1702.1, 1702.2, 1702.3, 1702.4.

所有错误都属于那种:

Test testnum ran without errors but failed check that x equals y:

testnum是失败的测试(来自上面的消息)。

更多细节:

R version 3.4.4 (2018-03-15)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

Matrix products: default

locale:
[1] LC_COLLATE=English_Canada.1252  LC_CTYPE=English_Canada.1252    LC_MONETARY=English_Canada.1252
[4] LC_NUMERIC=C                    LC_TIME=English_Canada.1252    

attached base packages:
[1] parallel  stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] rmarkdown_1.9     curl_3.1          caret_6.0-78      lattice_0.20-35   xts_0.10-1        zoo_1.8-1        
 [7] nlme_3.1-131.1    hexbin_1.27.2     testthat_2.0.0    plyr_1.8.4        knitr_1.20        bit64_0.9-7      
[13] bit_1.1-12        ggplot2_2.2.1     lubridate_1.7.2   data.table_1.10.5 gmad_0.0.0.9000   reshape2_1.4.3   
[19] reshape_0.8.7    

loaded via a namespace (and not attached):
 [1] httr_1.3.1         ddalpha_1.3.1.1    tidyr_0.8.0        sfsmisc_1.1-2      splines_3.4.4     
 [6] foreach_1.4.4      prodlim_1.6.1      assertthat_0.2.0   highr_0.6          stats4_3.4.4      
[11] DRR_0.0.3          yaml_2.1.17        robustbase_0.92-8  ipred_0.9-6        pillar_1.2.1      
[16] backports_1.1.2    glue_1.2.0         digest_0.6.15      colorspace_1.3-2   recipes_0.1.2     
[21] htmltools_0.3.6    Matrix_1.2-12      psych_1.7.8        timeDate_3043.102  pkgconfig_2.0.1   
[26] CVST_0.2-1         broom_0.4.3        purrr_0.2.4        scales_0.5.0       gower_0.1.2       
[31] lava_1.6           tibble_1.4.2       withr_2.1.1        nnet_7.3-12        lazyeval_0.2.1    
[36] mnormt_1.5-5       survival_2.41-3    magrittr_1.5       evaluate_0.10.1    MASS_7.3-49       
[41] dimRed_0.1.0       foreign_0.8-69     class_7.3-14       tools_3.4.4        stringr_1.3.0     
[46] kernlab_0.9-25     munsell_0.4.3      bindrcpp_0.2       compiler_3.4.4     RcppRoll_0.2.2    
[51] rlang_0.2.0        grid_3.4.4         iterators_1.0.9    labeling_0.3       gtable_0.2.0      
[56] ModelMetrics_1.1.0 codetools_0.2-15   R6_2.2.2           dplyr_0.7.4        bindr_0.1         
[61] rprojroot_1.3-2    stringi_1.1.6      Rcpp_0.12.15       rpart_4.1-13       DEoptimR_1.0-8    
[66] tidyselect_0.2.4  

使用RStudio作为IDE,版本1.1.442 gmad是本地程序包(没有任何冲突的函数名称,基本上是访问某些私有API的程序包)。

不确定这是否值得关注 - 在之前的任何安装中都没有遇到这种情况。我已经看到了test.data.table() error message的答案,但这是旧版本的答案,我看到多个错误(与一个错误)。

修改

重新启动RStudio,在没有加载包(除了base)之前测试运行罚款(甚至不是data.table)。

加载一些软件包后获取错误。

我已经复制了两种情况的输出。在这个问题上发帖太久了 - 这是一个用于GoogleDrive的问津证linkanother

关于我的本地包gmad

NAMESPACE导入:

import(data.table)
import(ggplot2)
import(httr)
importFrom(lubridate,round_date)

DESCRIPTION导入:

Imports:
  data.table,
  lubridate, 
  ggplot2,
    ggmap,
    httr

所有其他软件包都是从CRAN安装的(上面的会话信息中提到的版本)。

1 个答案:

答案 0 :(得分:0)

data.tablelubridate对某些与日期/时间相关的函数使用相同的函数名,因此加载两个库的顺序决定了单元测试从哪个包调用哪个函数。

有关详细信息,请参阅此问题:https://github.com/Rdatatable/data.table/issues/1135

我认为要测试data.table的正确安装,你根本不应该加载lubridate。

如果您想在代码中使用日期/时间功能,您必须选择哪种屏蔽更适合您并按所需顺序加载库...

library(lubridate)
library(data.table)
test.data.table()  # runs without errors

如果重置R会话并加载data.table,首先会出现一些单元测试错误

library(data.table)
library(lubridate)
test.data.table()  # runs with unit test errors
说,e。克。

  

运行测试ID 546测试546运行没有错误但未通过检查   x等于y: