Я пытаюсь открыть тысячи файлов netcdf и вытащить данные в фрейм данных, который я могу сохранить в виде файла csv.
Таким образом, после помещения всех имен файлов ncdf в файл csv в виде списка, я в конечном итоге использовал этот код для создания кадра данных, заполненного данными из файлов ncdf.
vec0 <- vector()
time <- c(vec0,1:28413)
vec1 <- vector()
temp <- c(vec1,1:28413)
vec2 <- vector()
sphum <- c(vec2,1:28413)
vec3 <- vector()
rain <- c(vec3,1:28413)
vec4 <- vector()
totprcp <- c(vec4,1:28413)
for (i in 1:length(filenames))
{ncdata=nc_open(filenames[i])
nctime=ncvar_get(ncdata,"time")
time[i] = nctime[1]
nctemp=ncvar_get(ncdata,"Tair_f_inst")
temp[i] = nctemp[1]
nchum=ncvar_get(ncdata,"Qair_f_inst")
sphum[i] = nchum[1]
ncrain=ncvar_get(ncdata,"Rainf_tavg")
rain[i] = ncrain[1]
ncprcp=ncvar_get(ncdata,"Rainf_f_tavg")
totprcp[i] = ncprcp[1]
nc_close(filenames[i])}
cbind(time,temp,sphum,rain,totprcp)
Но я получаю только точные данные для первой строки и заполняю их последовательностью чисел (от 1 до 28412) для остальных строк. Я думаю, что моя ошибка заключается в том, как я написал компонент кода nc_close. Есть идеи?