簡體   English   中英

有沒有辦法讓R腳本在收到錯誤消息后繼續而不是停止執行?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM