Если у меня есть n файлов с именами nc.data_1, nc.data_2 ... nc.data_n, как я могу получить одну и ту же переменную из всех файлов и сохранить их в одном массиве в R? (т.е. (а) получение времени, затем (б) получение данных об осадках с размерами: [долгота, широта, время] = [144, 91, 24] из n файлов соответственно). Код ниже - это то, что я сделал до сих пор.
Путь к данным: https://www.dropbox.com/sh/m8u3xwm5za7m7mc/AACHq2AjeZaxHm1sEhaOJ_g2a/2011?dl=0
## Call library functions for future plot
library(abind)
library(fields)
library(maps)
library(ncdf4)
## create an empty list that saves the incoming files
nc.data<-list()
list.filenames<-list.files(pattern = ".nc")
## Read in all data files using a loop
for(i in 1:length(list.filenames)){
nc.data[[i]]<-nc_open(list.filenames[[i]])
}
## Getting lat and lon from a single file since they're the same for all files
lat_2x25 <- ncvar_get(nc.data[[1]], 'lat')
lon_2x25 <- ncvar_get(nc.data[[1]], 'lon')
Для переменной времени я не могу использовать тот же метод, что и широта и долгота, поскольку время в каждом файле разное (каждый файл хранит данные одного дня)
raster::stack(x)
илиraster::brick(x)
, где x - это список имен файлов, которые вы хотите сложить. Тогда я бы, вероятно, сохранил их в виде кирпичей или стеков (гораздо лучше для пространственных данных, чем массив), но если вам действительно нужен массив, тогдаas.array
- ваш друг. - person dww   schedule 30.11.2017