函数未按预期导入

Functions not importing as expected

我有一连串的两个包裹。然而,即使我导入了第一个,一些函数仍然抱怨它们不存在。

以下是软件包文档的相关部分:

这是我正在加载的 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 函数:gatherspreadseparate , 和 unnest 通过 packageB 中的 @importFrom 文档,但它没有。

所以,当我加载 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

我在 packageB

@import 指令中添加了 tidyr
#' @docType package
#' @name packageB
#' @import extrafont ggplot2 knitr tidyr dplyr

@importFrom 仅在直接调用包时有效,通过其他包调用包时无效。