我目前正在为学校的一个项目运行ANOVA,该项目有大量可能的运行(1400左右)但是其中一些项目无法在R中运行ANOVA.我写了一个脚本来运行所有的ANOVA,但是一些它们不会运行,Rout文件给我错误contrasts<-(*tmp*,value ="contr.treatment"):对比只能应用于2级或更多级别的因素调用:aov ... model.matrix - > model.matrix.默认 - >对比< - 执行暂停
有没有办法编写脚本,使R继续脚本尽管有错误?
我的整个脚本,除了文件加载,附加,创建接收器,库加载等等...
ss107927468.model<-aov(Race.5~ss107927468, data=snp1)
summary(ss107927468.model)
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
查看功能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)
}
Run Code Online (Sandbox Code Playgroud)