我想在一個非常大的數據集上運行的東西。基本上,我想遍歷文件夾中的所有文件,然後運行JSON上的函數就可以了。但是,我希望它跳過產生錯誤的文件。我建立了一個功能,使用tryCatch然而,只有當我使用函數lappy而不是parLapply。TryCatch與parLapply(並行包)在R
這是我爲我的異常處理函數代碼:
readJson <- function (file) {
require(jsonlite)
dat <- tryCatch(
{
fromJSON(file, flatten=TRUE)
},
error = function(cond) {
message(cond)
return(NA)
},
warning = function(cond) {
message(cond)
return(NULL)
}
)
return(dat)
}
,然後我打電話parLapply一個特徵向量文件其中包含完整路徑的JSON文件:
dat<- parLapply(cl,files,readJson)
當它到達不正確結束的文件時會產生錯誤,並且不會通過跳過有問題的文件來創建列表'dat'。 readJson函數應該減輕的是什麼。
當我使用普通的樂器時,它的工作原理非常好。它會生成錯誤,但它仍會通過跳過錯誤的文件來創建列表。
關於如何使用parLappy並行處理異常處理的任何想法,以便它跳過有問題的文件並生成列表?
這個竅門!非常感謝!!! – user2905393