[英]Is there any way to have R script continue after receiving error messages instead of halting execution?
我目前正在為學校的一個項目運行ANOVA,該項目有大量可能的運行(1400左右)但是其中一些項目無法在R中運行ANOVA。我寫了一個腳本來運行所有的ANOVA,但是一些它們不會運行,Rout文件給出了contrasts<-
誤差contrasts<-
( *tmp*
,value =“contr.treatment”):對比度只適用於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)
}
我在plyr
包中使用failwith
。 您可以將它與llply結合使用並圍繞它包裝您的函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.