R包命名空间

R package NAMESPACE

我正在记录一个 R 函数。我的 R 文件结构如下:

#'Report the modeling result
#'
#' @param higher_rank A string.
#' @param lower_rank A string.
#' @param method A string.
#' @return modeling result of the accumulation of \code{lower_rank} of a \code{higher_rank} by \code{method}
#' @import data.table
#' @import ggplot2
#' @import drc drm
#' @importFrom plotly ggplotly
#'@examples
#'\dontrun{
#'modelit("adult", "child", "logistic")
#'}
#'@export

modelit <- function(higher_rank, lower_rank, method) {

...
...

model.drm <- drc::drm(lower_rank ~ higher_rank, data = data.frame(adults = adults, children = children), fct = MM.2())

...
...

}

正如我运行

>devtools::document()

弹出错误:

Warning messages:
1: In loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called ‘drm’
2: character(0) 
3: character(0) 
4: In loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) :
there is no package called ‘drm’

因为我没有软件包 drm 而是 drc,所以我很好奇这个警告是从哪里来的。在 NAMESPACE 中,我确实看到了

importFrom(drm,drc)

非常感谢您的帮助。谢谢。

您使用了标签 @import 而不是 @importFrom。因此,您要求从 drc

导入包 drm 而不是函数 drm

顺便说一句,您不需要 drm 的任何导入标记,因为您通过命名空间 drc::drm

调用了该函数