我有两个包的链。然而,即使我导入了第一个函数,一些函数仍抱怨它们不存在。
以下是包文档的相关部分:
这是packageA
我正在加载,我希望它可以提取由packageB
导入的所有内容:
#' @import packageB
#' @name packageA
#' @docType package
这是packageB
包中的相关部分:
#' @docType package
#' @name packageB
#' @import extrafont ggplot2 knitr dplyr
#' @importFrom tidyr gather spread separate unnest
问题在于,当我加载packageA
时,我的期望是它还会导入tidyr
函数:gather
,spread
,separate
和unnest
通过@importFrom
中的packageB
文档,但它没有。
所以,当我加载packageA
时:
library(packageA)
a_packageB_fun(...)
error: cannot find function 'gather'
但是,我已经调用了它,它位于packageA
我做错了什么?
更新:
sessionInfo():
R version 3.2.2 (2015-08-14)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 15.10
locale:
[1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C LC_TIME=en_CA.UTF-8 LC_COLLATE=en_CA.UTF-8 LC_MONETARY=en_CA.UTF-8
[6] LC_MESSAGES=en_CA.UTF-8 LC_PAPER=en_CA.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] credobb2_1.2 surv3_1.01 dplyr_0.4.3 extrafont_0.17 ggplot2_1.0.1 knitr_1.12
loaded via a namespace (and not attached):
[1] Rcpp_0.12.2 tidyr_0.3.1.9000 digest_0.6.8 assertthat_0.1 MASS_7.3-43 grid_3.2.2 R6_2.1.1 plyr_1.8.3
[9] Rttf2pt1_1.3.3 gtable_0.1.2 DBI_0.3.1 magrittr_1.5 scales_0.3.0 stringi_1.0-1 reshape2_1.4.1 extrafontdb_1.0
[17] proto_0.3-10 tools_3.2.2 stringr_1.0.0 munsell_0.4.2 parallel_3.2.2 colorspace_1.2-6
答案 0 :(得分:0)
我将tidyr
添加到@import
packageB
指令中
#' @docType package
#' @name packageB
#' @import extrafont ggplot2 knitr tidyr dplyr
@importFrom仅在直接调用包时才有效,而不是在通过另一个包调用包时。