首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ggpubr无法找到“mean_se”,除非ggpubr通过库()附加

ggpubr无法找到“mean_se”,除非ggpubr通过库()附加
EN

Stack Overflow用户
提问于 2022-05-04 17:27:11
回答 1查看 97关注 0票数 3

问题摘要:当我试图通过" add“参数将汇总统计数据添加到ggpubr绘图中时,ggpubr无法找到汇总stat函数(下面的示例代码)。例如,如果我试图使用add="mean_se"添加错误条,就会得到一个错误消息,而没有错误条。

Unsatisfactory 解决方案:通过调用library(ggpubr)来附加ggpubr的将解决此问题。见这个答案

为什么上面的解决方案不能令人满意:我正在开发一个包,因此希望避免通过对库()的调用附加其他包--我的理解是,这是最佳实践,以避免用用户可能没有预料到的内容来污染名称空间。

我的问题是:有什么方法可以在不附加包的情况下找到mean_se

示例代码(在我的包中的.R文件中):

代码语言:javascript
运行
复制
make.plot = function(){
  utils::data("iris")
  ggpubr::ggbarplot(
    data = iris,
    x = "Species",
    y = "Sepal.Length",
    add = "mean_se")
}

示例输出:

代码语言:javascript
运行
复制
> 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)并再次构建它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-04 19:11:01

因为您正在创建一个包,所以可以通过在函数中导入mean_se_来确保它在搜索路径中。

如果使用roxygen,可以添加标记@importFrom ggpubr mean_se_

代码语言:javascript
运行
复制
#' @importFrom ggpubr mean_se_
make.plot = function(){
  utils::data("iris")
  ggpubr::ggbarplot(
    data = iris,
    x = "Species",
    y = "Sepal.Length",
    add = "mean_se")
}

然后运行devtools::document()并运行函数,您的输出应该如下所示:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72117126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档