У меня есть код в R, который извлекает данные для одного файла netcdf.Тем не менее, у меня есть 365 файлов netcdf.Я хочу извлечь данные из всех этих файлов с помощью цикла и записать их в отдельные файлы CSV.
Я подготовил код для одного файла.Нужна помощь для нескольких файлов netcdf.
library(ncdf4)
ncname = "ESACCI-L3S_SOILMOISTURE-SSMV-MERGED-19781102000000-fv00.1"
ncfname = paste(ncname, ".nc", sep = "")
dname = "sm"
ncin = nc_open(ncfname)
print(ncin)
lon <- ncvar_get(ncin, "lon")
nlon <- dim(lon)
head(lon)
lat <- ncvar_get(ncin, "lat", verbose = F)
nlat <- dim(lat)
head(lat)
print(c(nlon, nlat))
sm_array <- ncvar_get(ncin,dname)
dlname <- ncatt_get(ncin,dname,"long_name")
dunits <- ncatt_get(ncin,dname,"units")
fillvalue <- ncatt_get(ncin,dname,"_FillValue")
dim(sm_array)
ls()
m <- 1
sm.slice <- sm_array[,]
sm.vec <- as.vector(sm.slice)
length(sm.vec)
lonlat <- expand.grid(lon, lat)
sm.df01 <- data.frame(cbind(lonlat, sm.vec))
names(sm.df01) <- c("lon", "lat", paste(dname, as.character(m), sep = "_"))
head(na.omit(sm.df01), 20)
csvfile <- "sm_trial2.csv"
write.table(na.omit(sm.df01), csvfile, row.names = FALSE, sep = ",")
Мне нужно изменить этот код для 365 файлов netcdf.