【问题标题】:How to suppress warning messages from cast()如何抑制来自 cast() 的警告消息
【发布时间】:2012-06-20 01:20:00
【问题描述】:

我经常使用reshape 包中的cast()。几乎每次都会弹出这个警告:

Aggregation requires fun.aggregate: length used as default

我尝试设置options( warn =-1),但无济于事。如何抑制这些警告?

【问题讨论】:

  • 我认为options("warn")无效的原因是它实际上是由message而不是warning生成的。 suppressMessages 可能有效,但我不知道如何在全球范围内做到这一点。

标签: r reshape


【解决方案1】:

Aggregation requires fun.aggregate: length used as default

message 不是warning - 让您知道该功能为您决定了一些事情。我认为最好的选择是@Dason's answer - 即手动指定此选项。

但是,如果您不想这样做:

您可以通过将函数包装在suppressMessages 中来抑制消息

使用来自cast的示例

names(ChickWeight) <- tolower(names(ChickWeight))
chick_m <- melt(ChickWeight, id=2:4, na.rm=TRUE)

suppressMessages(cast(chick_m, time ~ variable))

或者你可以创建自己的函数

cast_suppress <- function(...){suppressMessages(cast(...))}
cast_suppress(chick_m, time ~ variable)

【讨论】:

    【解决方案2】:

    您可以手动将 fun.aggregate 指定为长度。

    cast(your_inputs_to_cast, fun.aggregate = length)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-17
      • 2012-02-09
      相关资源
      最近更新 更多