【问题标题】:In R, using melt(), how can I hide warning messages?在 R 中,使用 melt(),如何隐藏警告消息?
【发布时间】:2018-07-24 06:14:24
【问题描述】:

我正在融化一些数据,不想提供 id.var 参数来融化。数据融化得很好,但我得到了

"No id variables; using all as measure variables"

有没有办法阻止该消息出现,或者说 id.var=default 或类似的东西?使用 dplyr 的 iris 示例:

> dt <- iris %>% summarize_at(c("Sepal.Length","Sepal.Width"), funs(mean))
> dt
  Sepal.Length Sepal.Width
1     5.843333    3.057333
> melt(dt, value.name="Mean")
No id variables; using all as measure variables
      variable     Mean
1 Sepal.Length 5.843333
2  Sepal.Width 3.057333

或者,有没有办法告诉函数不打印警告消息或类似的东西?谢谢!

【问题讨论】:

  • 寻求帮助时,您应该包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出。
  • 在这种情况下使用id.vars=NULL
  • 我会争辩说,虽然该主题已涵盖该问题,但从该帖子中问题的标题来看并不明显。我确实搜索了诸如如何隐藏来自融化的消息和特定的消息输出之类的东西,但没有找到任何直接询问的内容。我认为这篇文章将来会更好地为像我这样正在寻找具体方法的人编入索引。
  • imo 更好的答案是@user20650。这是使用 melt 的正确方法,因为在某些情况下,melt 会自动选择一个 ID 变量。

标签: r reshape2 melt


【解决方案1】:

严格来说,这是一个信息,而不是一个警告。 (见?message?warning)。您可以使用suppressMessages 禁止消息

suppressMessages({
  reshape2::melt(head(mtcars))
})

对于melt,具体可以使用id.vars = NULL。 (归功于@user20650)

【讨论】:

  • 谁能解释更多如何做到这一点?我填写了:suppressMessages({ reshape2::melt(id.vars = NULL)) }) 但它不起作用
猜你喜欢
  • 1970-01-01
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-20
  • 2013-07-17
相关资源
最近更新 更多