如何使用 @importFrom 使其适用于整个 R 包?

wdk*_*nls 5 r roxygen2 r-package

自动化数据分析工作流程 我在packagename.R文件packagename夹中的文件中有以下代码。

我知道我会经常使用其他包中的某些函数,所以我想导入它们一次而不是到处输入它们。我认为我应该能够使用上述方法做到这一点,但它在我的 RStudio 中不起作用。

#' packagename: Package containing tools support project work.
#'
#' This package provides a central repository for methods to facilitate 
#' project work
#' @importFrom dplyr bind_rows mutate filter group_by ungroup
#' @importFrom purrr pluck map map_chr map_dbl
#' @importFrom lubridate ymd_hms
#' @importFrom odbc odbc
#' @importFrom DBI dbConnect dbDisconnect
#' @importFrom stringr str_detect str_replace_all
#' @docType package
#' @name packagename
NULL
Run Code Online (Sandbox Code Playgroud)

在另一个文件中,topic.R我有:

do_thing <- function(x) str_replace_all(x, " ", "_"))
Run Code Online (Sandbox Code Playgroud)

当我打电话时,do_thing它告诉我:

Error in str_replace_all(x, " ", "_") : 
  could not find function "str_replace_all"
Run Code Online (Sandbox Code Playgroud)

我还有什么需要补充的吗,或者我应该做些不同的事情?

根据对问题的评论,我需要至少重新生成我的NAMESPACE,这显然是手动生成的(因为我使用 RStudio GUI 启动了该项目),所以roxygen不会更新它。我也对如何从 UI 执行此操作感兴趣。

这是我的构建菜单的样子:

RStudio 构建菜单

我的NAMESPACE文件包含这些导入,但我的测试脚本在尝试运行这些函数时仍然失败。这不可能像 C. Braun 建议的那样吗?