gpt4 book ai didi

R - 在某些情况下忽略警告错误,获取结果

转载 作者:行者123 更新时间:2023-12-03 13:58:35 28 4
gpt4 key购买 nike

我设置了选项(警告 = 2)。我需要在触发时意识到警告并且更愿意停止执行。也就是说,在少数情况下会出现警告,程序应该继续执行。使用 tryCatch() 正确捕获错误,但结果数据不可用。

这是一个具体的例子:

x = c(1,2,3,4,5,6)
y = c(1,1,1,0,0,0)
result = glm( y~x , family = binomial( link = "logit" ) )

将 glm 包装在 tryCatch() 中,结果未填充。这是有道理的,因为 glm 的警告在有机会返回之前被转换为错误。在这种情况下是否有最佳实践?是否只是在 glm 调用之前设置 options(warn=0) 然后在调用之后恢复?或者有更好的模式吗?

我确定这就是我想要做的。警告没有标准。有时警告是微不足道的,而有时则非常严重。这就是我默认将警告转换为错误的原因。尽管如此,我仍然需要在某些情况下忽略警告的能力,在这种情况下,我绝对确定我可以忽略警告。在这些情况下,我想要结果!

编辑
这是 try catch :
tryCatch(  { result = glm( y~x , family = binomial( link = "logit" ) ) } , error = function(e) { print("test") } )

最佳答案

试试 suppressWarnings()
http://stat.ethz.ch/R-manual/R-patched/library/base/html/warning.html

 x = c(1,2,3,4,5,6)
y = c(1,1,1,0,0,0)
result = suppressWarnings(glm( y~x , family = binomial( link = "logit" ) ))
result

Call: glm(formula = y ~ x, family = binomial(link = "logit"))

Coefficients:
(Intercept) x
165.32 -47.23

Degrees of Freedom: 5 Total (i.e. Null); 4 Residual
Null Deviance: 8.318
Residual Deviance: 2.215e-10 AIC: 4

编辑 1 ==================================

如果你想显示上面的错误 glm()在代码后面的某处声明,您可以添加 warnings()陈述。
 stoerr <- warnings()   
stoerr

Warning message:
glm.fit: fitted probabilities numerically 0 or 1 occurred

关于R - 在某些情况下忽略警告错误,获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5747727/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com