Я отправил сценарий R на LINUX HPC, используя сценарий «sub». Я написал функцию в R для применения к списку. Однако он перестает работать, как только обнаруживает плохой файл. Как написать функцию R таким образом, чтобы она пропускала ошибку и продолжала работать с хорошими файлами netcdf? сценарий:
##list files in the SEVIRI data folder
LST1<-list.files(pattern="GT_SSD.*\\.nc",recursive=T, path="/data atsr/SEVIRI/2007")
##Function to create rasters
fun2<-function(x){
##Open the files
y1<-nc_open(x)
##Get soil moisture variable
y2<-ncvar_get( y1,"LST")
y3<-t(y2)
R1<-raster(y3, xmn=-80,xmx=80,ymn=-42,ymx=80)
proj4string(R1)<-CRS("+proj=longlat +ellps=WGS84")
frm <- extent(c(-19, 19,2,29))
pfrm <- as(frm, 'SpatialPolygons')
R3<-crop(R1,pfrm)}
Когда я применяю функцию
LST2<-lapply(LST1,fun2)
Сообщение об ошибке:
Error in nc_open(x) :
Error in nc_open trying to open file GT_SEV_2P/GT_SSD- L2-SEVIR_LST_2-20110122_010000-LIPM-0.05X0.05-V1.0.nc
Как только это произойдет, скрипт перестанет работать. Как я могу убедиться, что он продолжает работать на хороших, пожалуйста? Приведенные выше коды — это только первый набор кодов.
?try
или найдите его на StackExchange... - person Ben Bolker   schedule 30.05.2015