r - 有没有办法让 R 脚本在收到错误消息后继续执行而不是停止执行?

标签 r statistics

我目前正在为学校的一个项目运行方差分析,该项目有大量可能的运行(1400 次左右),但其中一些无法在 R 中运行方差分析。我编写了一个脚本来运行所有方差分析,但其中一些不会运行,Rout 文件给了我 contrasts<- 中的错误(*tmp*,值=“对照.治疗”): 对比只能应用于具有 2 个或更多级别的因素 调用:aov ... model.matrix -> model.matrix.default ->对比度<- 执行停止

有没有办法编写脚本,让 R 在出现错误的情况下继续执行脚本?

我的整个脚本,除了文件加载、附加、创建接收器、库加载等之外......

ss107927468.model<-aov(Race.5~ss107927468, data=snp1)
summary(ss107927468.model)

如有任何帮助,我们将不胜感激。

最佳答案

查看函数 try() 及其帮助页面 (?try)。您将 R 表达式包装在 try() 调用中,如果成功,则生成的对象将包含(在本例中)拟合的模型。如果失败,则返回一个具有类 "try-error" 的对象。这使您可以轻松检查哪些模型有效,哪些无效。

您可以进行测试来决定是打印模型摘要还是仅打印失败消息,例如:

ss107927468.model <- try(aov(Race.5~ss107927468, data=snp1))
if(isTRUE(all.equal(class(ss107927468.model), "try-error"))) {
    writeLines("Model failed")
} else {
    summary(ss107927468.model)
}

关于r - 有没有办法让 R 脚本在收到错误消息后继续执行而不是停止执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4359310/

相关文章:

从数据帧中删除 NA,除了一列 R

c++ - 局部回归和局部似然法的实现

r - 如何使用 Bonferroni 校正计算数据框中每一行的超几何检验

python - 带有批量更新的 Welford 方差/标准算法的公式是什么?

python - scipy:spearmanr返回值的重要性(相关性)

r - 在任意长的对象列表上使用cbind

math - 将多项式拟合到数据

r - 如何使用 ggplot 对条形图中的正负条进行颜色编码

r - ggplot2:如何在情节上透明地遮蔽隔天

r - igraph'ing 嵌套模型