gpt4 book ai didi

r - 如何在帮助文件示例中有条件地使用 R 包?

转载 作者:行者123 更新时间:2023-12-03 21:25:05 25 4
gpt4 key购买 nike

我是 R 包作者,我收到了 CRAN 的通知表,我的包将被存档,因为我的建议中的包需要有条件地使用。在我的主代码中,它们是有条件地使用的;我写了一个 check.packages()如果无法加载包,则抛出错误的函数。但是,在我的帮助文件中的示例中,我只是简单地附上带有 library() 的包。 ,这很可能是我犯错的地方。问题出现是因为我包含在 Suggests 中的一个包被归档了。

我的问题是如何有条件地使用帮助文件示例中的包?我尝试使用

ifelse{\Sexpr{isTRUE(requireNamespace("pkg"))}}{
#Example with pkg
}{
\dontrun{
#Example with pkg
}}

也就是说,如果包是可加载的,则像往常一样显示示例,如果不是,则换行 \dontrun{}周围。这在我预览帮助文件时有效,但 CRAN 检查告诉我我不能使用 \ifelse在例子中。如果我的示例在我的建议中附加包很重要,那么我唯一的选择是包装 \dontrun围绕所有这些,无论包是否可以加载?

最佳答案

CRAN 对一个简单的很满意 if我的一个 packages 小插图中的声明:

if (requireNamespace('pkg', quietly = TRUE)) {
library('pkg')
# Example with pkg
} else {
message("'pkg' not available")
}
我可能会遗漏一些东西,但我不明白为什么这种方法也不应该在示例中起作用;也许你需要添加一个 unloadNamespace('pkg')之后的例子要清理吗?

关于r - 如何在帮助文件示例中有条件地使用 R 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48772325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com