繁体   English   中英

创建 R 包时如何使用 roxygen2 编辑 NAMESPACE?

[英]How to edit NAMESPACE with roxygen2 when creating R packages?

我正在写一个 R package 并在以下链接中,

如何在 R package 中加载依赖项? 响应表明有必要“在您的 NAMESPACE 文件 importFrom(ncdf4, nc_open) 中添加一行,然后在您的代码中,在没有 package 的情况下调用 function:nc_open(...)”

在这里, 如何在 R-package 中正确包含依赖项? 一位用户说:

"NAMESPACE 文件。在这里你声明你需要的包

import(ggplot2) 或避免命名空间冲突

importFrom(ggplot2, geom_point) 你可以让 roxygen2 使用 @import 和 @importFrom 标签来维护 NAMESPACE 文件。"

这些建议看起来很简单。 但是,当我使用 r package roxygen2 创建 NAMESPACE 时,无法手动编辑文件 NAMESPACE。

那么,如何编辑文件NAMESPACE?

非常感谢您提前

你应该使用

#' @export

或者

#' @importFrom 

最好在文件(及以上)中使用这些导入的代码。 请参阅Roxygen2 上的 Vignette, NAMESPACE tags然后调用devtools::document()将通过这些注释生成适当的NAMESPACE等。

如果您需要完整的示例,这就是它的外观:

#' Title
#'
#' @return
#' @export
#' @import ggplot2
#' @importFrom data.table setDT
#' @examples
my_function <- function() {
  
}

要将 roxygen2 骨架 - go 插入 RStudio 中的“代码”选项卡并搜索 Insert Roxygen Skeleton。

标签@export表示my_function将被导出以对用户可见,当使用package::my_fun或之后library(package) Tag @import makes all exported functions from ggplot2 package available for you, ie no need to use ggplot2::aes() when you use functions from this package in your package. Tag @importFrom makes available only explicitly mentioned function from package, ie no need to use package::fun() , but it will be necessary for other functions from this package.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM