【问题标题】:ss.study.ca: how to store graphic and how to suppress warningsss.study.ca:如何存储图形以及如何抑制警告
【发布时间】:2020-04-13 06:37:28
【问题描述】:

两个问题:

  1. 我喜欢以与 ggplot 相同的方式存储和处理 ss.study.ca() 的输出:

    p1 <- ggplot(..) + ...
    p2 <- ss.study.ca(....)
    multiplot(p1, p2, rows = 2)         # this function puts 2 graphs on 1 page           
    

    但是 p2 似乎想要一个自己的页面。

  2. 第二个问题是 ss.study.ca() 返回 NULL 和警告消息,如:

    1: 在 ss.study.ca(df_temp$Value, LSL = (df_temp$LimitLo)[1], USL = (df_temp$LimitHi)[1], : 正态性测试失败

    当我在循环中使用 ss.study.ca 时,我喜欢抑制这两条消息。

感谢任何解决方案的指针。

【问题讨论】:

  • 如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则会更容易为您提供帮助。
  • 感谢埃米利奥。 suppressWarninings() 调用解决了这个问题。

标签: r


【解决方案1】:

谢谢你的提问,卢克。

  1. ss.study.ca() 不会生成 ggplot 而是生成网格图(内部有 ggplots)。尽管如此,由于 ggplot 内部也使用网格系统,您可以将 SixSigma 和 ggplot2 绘图与 grid 和 gridExtra 包合并。这是一个适用于我的可重现示例:
    library(SixSigma)
    library(gridExtra)
    library(grid)
    library(ggplot2)
    grid.arrange(grid.grabExpr(
      ss.study.ca(ss.data.ca$Volume, rnorm(40, 753, 3), 
                  LSL = 740, USL = 760, T = 750, alpha = 0.05, 
                  f.sub = "Winery Project")),
      ggplot(data.frame(x=rnorm(100)), aes(x)) + geom_histogram()
    )
  1. 您可以在将表达式包含在 suppressWarnings 函数中的循环内抑制警告。这是一个简单的例子,可能还有更多的表达方式:
    suppressWarnings({
      ss.study.ca(rexp(40, 0.01),
                  LSL = 740, USL = 760, T = 750, alpha = 0.05, 
                  f.sub = "Winery Project")
    })

我不确定 NULL 消息,如果它没有用 suppressWarnings 函数修复,也许 reprex 会有所帮助。

【讨论】:

    【解决方案2】:

    感谢您的回复。 suppressWarnings() 调用确实删除了警告和 NULL。

    虽然我确认提供的示例 grid.arrange((....)) 有效,但在我的代码中,只有 ggplot() 不同,我收到以下错误消息:

    Error in grabDL(warn, wrap, wrap.grobs, ...) : 
      'list' object cannot be coerced to type 'double'
    

    这是ggplot()的内容造成的吗?

    【讨论】:

    • 我不这么认为,因为错误在grabDL 中,我认为它与ss.study.ca 的输出有关。尝试 grid.arrange 你的 ggplot 两次,看看它是否有效。如果没有,那就是ggplot。如果是,也许你可以分享你的代码来检查。 PS:您能否将先前的答案标记为有用,因为警告问题已修复?
    猜你喜欢
    • 2019-02-25
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 2017-01-24
    相关资源
    最近更新 更多