我想防止某个功能警告我。

>for (v in c("1", "a2", "aaa", 10))
  if (is.na(as.numeric(v)))
    cat("\nWarning:", paste(v, "cannot be coerced into a number"))

Warning: a2 cannot be coerced into a number
Warning: aaa cannot be coerced into a number
Warning messages:
1: NAs introduced by coercion
2: NAs introduced by coercion

我只希望显示警告:Warning: a2 cannot be coerced into a numberWarning: aaa cannot be coerced into a number

我认为有两种方法可以做到这一点。
1.覆盖R使用的警告。
2.抑制R使用的警告。

对这两种方法的帮助都可以提供很多信息,但我对抑制警告系统更感兴趣。

感谢您的任何帮助,您可以提供!
弗朗西斯

最佳答案

干得好:

for (v in c("1", "a2", "aaa", 10))
    if (is.na(suppressWarnings(as.numeric(v))))
        warning(paste(v, "cannot be coerced into a number"))
suppressWarnings计算表达式并忽略警告。
warning生成您自己的警告:)

关于r - 禁止显示单个警告/错误消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23014451/

10-11 18:48