r - 在 R 中查找模块化包函数的帮助文件
问题描述
我正在编写一个 R 包,它按照 Sebastian Warnholz 的模块包组织成模块。每个函数都组织到其自己的 R 文件中,例如R/m1/fun.R
. 这些文件中的每一个都以 roxygen 代码开头。这些模块在另一个文件中定义,R/modules.R
. 这是该文件结构的一个想法:
#' Module 1
#' @name m1
#' @export
m1 <- modules::module({
expose("R/m1/fun.R")
expose("R/m1/foo.R")
})
包检查和构建干净,我可以通过发出m1$fun()
和调用函数m1$foo()
。但是,无论我尝试什么,调用帮助文件都不起作用(即,函数名称的组合?
或help()
函数名称,带或不带模块前缀m1$
.
实际上,我什至不能指望帮助文件在那里,因为在运行之后devtools::document()
,roxygen 代码并没有转换成man/*.Rd
文件。所以我想我的问题是devtools::document()
搜索R
子文件夹。不过,跑步devtools::document("R/m1")
并不能解决问题。
有效的一件事是将函数脚本放在父文件夹中R/
,但随后它们会丢失模块范围,并且可以在包级别看到帮助文件(但不是函数本身)。此外,“使用”部分将声明“foo(...)”而不是“m1$foo(...)”,这听起来不合适,但我不确定目前是否可以修复。这是我第一次使用模块,所以我想知道是否有一种更简洁的方式来组织我的函数和帮助文件。
解决方案
推荐阅读
- sql - 查找在注册后特定时间登录的用户
- python - 在 Python 中映射 json 中的 forsquare 数据
- php - 如何在 spatie/laravel-permission 中使用 UUID
- php - PHP检查数组中的多个值是否全部为正或全部为负或部分
- macos - 更改mac中正在运行的进程的环境变量
- android - 尝试使用 HC-05 板(连接到 Arduino)了解蓝牙连接上的数据传输行为(滞后)
- java - 可选的
无法转换为 Int(用于 GUI 进度条) - jquery - 如何检查元素的值是否已更改?
- php - GA php-server 获取特殊页面浏览量
- reactjs - 在页面重新加载之间直接访问 redux 存储以访问和保持状态是一种不好的做法吗