我将所有文件导入列表。
library(ncdf4)
list <- list.files(path=".", pattern="*test*", full.names=TRUE)
dat = lapply(list, nc_open)
现在,dat
是10个元素的large list
。每个元素都有15个NetCDF变量,其中我只想提取一个。
我可以使用以下方法分别从每个元素中提取变量:
dat1var <- ncvar_get(dat[[1]], "temp")
dat2var <- ncvar_get(dat[[2]], "temp")
..
dat10var <- ncvar_get(dat[[10]], "temp")
如何使用lapply或其他方法执行此操作?
我试过这个
lapply(dat, function(x) svar <- ncvar_get(dat[[x]], ncvar))
答案 0 :(得分:3)
lapply(dat, ncvar_get, "temp")
您可以链接lapply
s:
lapply(lapply(list, nc_open), ncvar_get, "temp")
也是
list %>% lapply(nc_open) %>% lapply(ncvar_get, "temp")
答案 1 :(得分:0)
尝试这个年轻的徒弟
library(purrr)
purrr:map(dat,c(i,"temp"))