我正在尝试在我正在开发的包中包含插入符号。当我运行devtools::check()时,我得到一个错误“没有名为‘lattice’的包”。如果我从描述文件的"Imports“部分中删除插入符号,错误就会消失。我不确定是什么导致了这个问题。网格安装在我的机器上。
我不知道如何提供可重现的示例,因为该包正在开发中,所以我包含了包here的一个版本。如果有帮助,我的描述文件(没有插入符号)如下所示
Package: tswgewrapped
Title: Helpful wrappers for 'tswge', 'vars' and 'nnfor' time series packages
Version: 1.8.10
Authors@R: c(
person("David", "Josephs", email = "josephsd@smu.edu", role = c("aut", "cre")),
person("Nikhil", "Gupta", email = "guptan@smu.edu", role = c("aut")))
Description: This package provides several helpful wrappers for the already useful 'tswge', 'vars' and 'nnfor' package. In the future, this package intends to move away from the tswge backend, to be faster, with more readable source code.
License: AGPL-3
Encoding: UTF-8
LazyData: true
Imports:
assertr,
doParallel,
dplyr,
ggfortify,
GGally,
ggplot2,
magrittr,
nnfor,
rlang,
pander,
parallel,
patchwork,
purrr,
R6,
RColorBrewer,
Rfast,
tibble,
tictoc,
tswge,
vars,
forecast
RoxygenNote: 7.1.0
Suggests:
testthat (>= 2.1.0),
tseries,
knitr,
rmarkdown
VignetteBuilder: knitr这是我的sessionInfo
> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] tswgewrapped_1.8.10 caret_6.0-84 ggplot2_3.3.0 lattice_0.20-41
loaded via a namespace (and not attached):
[1] colorspace_1.4-1 class_7.3-15 rprojroot_1.3-2 fs_1.3.1 rstudioapi_0.10 roxygen2_7.1.0
[7] remotes_2.1.0 smooth_2.5.5 lubridate_1.7.4 prodlim_2018.04.18 xml2_1.2.0 splines_3.5.1
[13] codetools_0.2-16 doParallel_1.0.14 knitr_1.23 pkgload_1.0.2 greybox_0.5.8 nloptr_1.2.1
[19] compiler_3.5.1 tictoc_1.0 backports_1.1.4 assertthat_0.2.1 RcppZiggurat_0.1.5 Matrix_1.2-17
[25] strucchange_1.5-2 cli_1.1.0 prettyunits_1.0.2 tools_3.5.1 gtable_0.3.0 glue_1.3.1
[31] reshape2_1.4.3 dplyr_0.8.5 Rcpp_1.0.1 fracdiff_1.4-2 xopen_1.0.0 lamW_1.3.0
[37] urca_1.3-0 tswge_1.0.0 nlme_3.1-137 iterators_1.0.10 vars_1.5-3 lmtest_0.9-37
[43] timeDate_3043.102 gower_0.2.1 xfun_0.8 stringr_1.4.0 ps_1.3.0 testthat_2.1.1
[49] devtools_2.1.0 statmod_1.4.33 MASS_7.3-51.4 zoo_1.8-6 scales_1.0.0 ipred_0.9-9
[55] parallel_3.5.1 sandwich_2.5-1 RColorBrewer_1.1-2 yaml_2.2.0 quantmod_0.4-15 curl_3.3
[61] memoise_1.1.0 gridExtra_2.3 pander_0.6.3 rcmdcheck_1.3.3 rpart_4.1-15 reshape_0.8.8
[67] stringi_1.4.3 tseries_0.10-47 desc_1.2.0 foreach_1.4.4 TTR_0.23-4 pkgbuild_1.0.3
[73] lava_1.6.5 rlang_0.4.2 pkgconfig_2.0.2 purrr_0.3.3 nnfor_0.9.6 recipes_0.1.6
[79] patchwork_1.0.0 Rfast_1.9.9 processx_3.4.1 tidyselect_0.2.5 GGally_1.5.0 plyr_1.8.4
[85] magrittr_1.5 R6_2.4.0 generics_0.0.2 pillar_1.4.2 withr_2.1.2 xts_0.11-2
[91] survival_2.44-1.1 nnet_7.3-12 ggfortify_0.4.8 tibble_2.1.3 crayon_1.3.4 usethis_1.5.1
[97] grid_3.5.1 data.table_1.12.2 callr_3.3.1 ModelMetrics_1.2.2 forecast_8.9 digest_0.6.20
[103] MAPA_2.0.4 assertr_2.7 tidyr_0.8.3 numDeriv_2016.8-1.1 tsutils_0.9.2 stats4_3.5.1
[109] RcppParallel_4.4.3 munsell_0.5.0 sessioninfo_1.1.1 quadprog_1.5-7发布于 2020-04-28 20:22:23
我终于找到了我的问题的解决方案。
解决方案1
我在一年多前就在我的新计算机上安装了R,因此使用的是版本3.5.1。由于某种原因(你可以看到我的SessionInfo),插入符号和晶格显示在other attached packages下,而不是loaded via a namespace (and not attached)下。
我还注意到,如果我在my package名称空间中放置插入符号,那么devtools::check()的安装部分就没有任何问题,但是在单元测试部分,该进程抱怨网格。
因此,我找到的临时解决方案是在单元测试设置部分( forecast .R)中安装lattice和forecast包。这似乎不是一个干净的解决方案,但它奏效了。您可以看到该here - version 1.8.10.8 of the package。
if(!require("lattice")){
# https://github.com/topepo/caret/issues/411#issuecomment-209973908
install.packages("lattice", repos = "http://cran.us.r-project.org", dependencies = c("Depends", "Imports", "Suggests"))
}
if(!require("forecast")){
# https://github.com/topepo/caret/issues/411#issuecomment-209973908
install.packages("forecast", repos = "http://cran.us.r-project.org", dependencies = c("Depends", "Imports", "Suggests"))
}解决方案2
昨天,我升级到了R (3.6.3)的最新版本,并重新安装了所有的软件包。现在,您可以从我的SessionInfo中看到,caret和lattice正确显示在loaded via a namespace (and not attached)部分下。
现在,即使我从单元测试设置部分删除了lattice和forecast包安装,devtools::check()也一切正常。因此,我认为旧版本的R以及它与我的设置的交互方式存在一些问题。
> sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 17763)
Matrix products: default
Random number generation:
RNG: Mersenne-Twister
Normal: Inversion
Sample: Rounding
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] tswgewrapped_1.8.10.9
loaded via a namespace (and not attached):
[1] colorspace_1.4-1 ellipsis_0.3.0 class_7.3-15 rprojroot_1.3-2 fs_1.4.1 rstudioapi_0.11
[7] roxygen2_7.1.0 remotes_2.1.1 smooth_2.5.6 prodlim_2019.11.13 fansi_0.4.1 lubridate_1.7.8
[13] xml2_1.3.1 codetools_0.2-16 splines_3.6.3 doParallel_1.0.15 knitr_1.28 pkgload_1.0.2
[19] greybox_0.5.9 nloptr_1.2.2.1 pROC_1.16.2 caret_6.0-86 compiler_3.6.3 tictoc_1.0
[25] backports_1.1.6 assertthat_0.2.1 RcppZiggurat_0.1.5 Matrix_1.2-18 strucchange_1.5-2 cli_2.0.2
[31] prettyunits_1.1.1 tools_3.6.3 gtable_0.3.0 glue_1.4.0 reshape2_1.4.4 dplyr_0.8.5
[37] Rcpp_1.0.4.6 xopen_1.0.0 fracdiff_1.5-1 vctrs_0.2.4 lamW_1.3.0 urca_1.3-0
[43] tswge_1.0.0 nlme_3.1-144 iterators_1.0.12 vars_1.5-3 lmtest_0.9-37 timeDate_3043.102
[49] gower_0.2.1 xfun_0.13 stringr_1.4.0 ps_1.3.2 testthat_2.3.2 lifecycle_0.2.0
[55] devtools_2.3.0 statmod_1.4.34 MASS_7.3-51.5 zoo_1.8-7 scales_1.1.0 ipred_0.9-9
[61] parallel_3.6.3 sandwich_2.5-1 RColorBrewer_1.1-2 quantmod_0.4.17 curl_4.3 memoise_1.1.0
[67] gridExtra_2.3 ggplot2_3.3.0 pander_0.6.3 rcmdcheck_1.3.3 rpart_4.1-15 reshape_0.8.8
[73] stringi_1.4.6 tseries_0.10-47 desc_1.2.0 foreach_1.5.0 TTR_0.23-6 pkgbuild_1.0.6
[79] lava_1.6.7 rlang_0.4.5 pkgconfig_2.0.3 pracma_2.2.9 lattice_0.20-38 purrr_0.3.4
[85] nnfor_0.9.6 recipes_0.1.10 patchwork_1.0.0 Rfast_1.9.9 processx_3.4.2 tidyselect_1.0.0
[91] GGally_1.5.0 plyr_1.8.6 magrittr_1.5 R6_2.4.1 generics_0.0.2 pillar_1.4.3
[97] withr_2.1.2 xts_0.12-0 survival_3.1-8 nnet_7.3-12 ggfortify_0.4.9 tibble_3.0.0
[103] crayon_1.3.4 usethis_1.6.0 grid_3.6.3 data.table_1.12.8 callr_3.4.3 ModelMetrics_1.2.2.2
[109] forecast_8.12 digest_0.6.25 MAPA_2.0.4 assertr_2.7 tidyr_1.0.2 tsutils_0.9.2
[115] RcppParallel_5.0.0 stats4_3.6.3 munsell_0.5.0 sessioninfo_1.1.1 quadprog_1.5-8 我希望这将对未来的读者有所帮助。学到的经验是不要与最新版本的工具和包太不同步。
https://stackoverflow.com/questions/61016630
复制相似问题