问题摘要:当我试图通过" add“参数将汇总统计数据添加到ggpubr绘图中时,ggpubr无法找到汇总stat函数(下面的示例代码)。例如,如果我试图使用add="mean_se"添加错误条,就会得到一个错误消息,而没有错误条。
Unsatisfactory 解决方案:通过调用library(ggpubr)来附加ggpubr的将解决此问题。见这个答案。
为什么上面的解决方案不能令人满意:我正在开发一个包,因此希望避免通过对库()的调用附加其他包--我的理解是,这是最佳实践,以避免用用户可能没有预料到的内容来污染名称空间。
我的问题是:有什么方法可以在不附加包的情况下找到mean_se?
示例代码(在我的包中的.R文件中):
make.plot = function(){
utils::data("iris")
ggpubr::ggbarplot(
data = iris,
x = "Species",
y = "Sepal.Length",
add = "mean_se")
}示例输出:
> devtools::load_all(".")
# i Loading MyPackage
> make.plot()
# Warning message:
# Computation failed in `stat_summary()`:
# object 'mean_se_' of mode 'function' was not found 有一件事应该起作用,但却行不通,那就是将"ggpubr::mean_se_“作为add参数传递。这样可以避免错误消息,但会产生不正确的情节。情节应该是这样的:

但是,传递"ggpubr::mean_se_“反而会产生:

额外的奇怪之处:--如果我曾经添加一个调用来加载ggpubr,用devtools::load_all(".")构建MyPackage,并运行它,那么在我退出并重新加载RStudio之前,上面的代码永远不会失败,即使我从包中删除了调用library(ggpubr)并再次构建它。
发布于 2022-05-04 19:11:01
因为您正在创建一个包,所以可以通过在函数中导入mean_se_来确保它在搜索路径中。
如果使用roxygen,可以添加标记@importFrom ggpubr mean_se_。
#' @importFrom ggpubr mean_se_
make.plot = function(){
utils::data("iris")
ggpubr::ggbarplot(
data = iris,
x = "Species",
y = "Sepal.Length",
add = "mean_se")
}然后运行devtools::document()并运行函数,您的输出应该如下所示:

https://stackoverflow.com/questions/72117126
复制相似问题