如何使用for循环打开.ncdf文件并对所有文件中具有不同值的矩阵变量求平均值?(使用R编程)

如何使用for循环打开.ncdf文件并对所有文件中具有不同值的矩阵变量求平均值?(使用R编程),r,nco,R,Nco,我目前正试图为位于不同.ncdf4文件中的特定空气质量变量(ColumnAmountNo2tropCloudScreen)的所有矩阵值编写一个平均矩阵。我能做到这一点的唯一方法是列出所有文件,使用Lappy打开它们,为每个ncdf创建一个NO2变量。文件,然后将abind应用于所有变量。尽管我能够做到这一点,但我还是花了很多时间为NO2变量(NO2_1、NO2_2、NO2_3等)键入不同的名称,以及访问原始列出文件的行([[1]]、[[2]]、[[3]]等) 我正在尝试输入一个比仅仅输入一堆数字

我目前正试图为位于不同.ncdf4文件中的特定空气质量变量(ColumnAmountNo2tropCloudScreen)的所有矩阵值编写一个平均矩阵。我能做到这一点的唯一方法是列出所有文件,使用Lappy打开它们,为每个ncdf创建一个NO2变量。文件,然后将abind应用于所有变量。尽管我能够做到这一点,但我还是花了很多时间为NO2变量(NO2_1、NO2_2、NO2_3等)键入不同的名称,以及访问原始列出文件的行([[1]]、[[2]]、[[3]]等)

我正在尝试输入一个比仅仅输入一堆数字更智能、更简单的代码。我列出了所有原始的.ncdf4文件,并尝试循环这些文件以打开它们,然后从每个文件中获取“ColumnAmountNo2TropCloudScreen”矩阵值,这样我就可以对它们进行平均。然而,我没有运气。有人知道这个代码/我的想法有什么问题吗?谢谢

我正在尝试以下代码:

# Load libraries 
library(ncdf4)
library(abind)
library(plot.matrix)
# Set working directory
setwd("~/researchdatasets/2020")
# Declare data frame
df=NULL
# List all files in one file
files1= list.files(pattern='\\.nc4$',full.names=FALSE)
# Loop to open files, get NO2 variables 
for(i in seq(along=files1)) {
  nc_data = nc_open(files1[i])
  NO2_var<-ncvar_get(nc_data,'ColumnAmountNO2TropCloudScreened')
  nc_close(nc_data)
}
# Average variables 
list_NO2= apply(abind::abind(NO2_var,along=3),1:2,mean,na.rm=TRUE)
#加载库
图书馆(ncdf4)
图书馆(abind)
库(plot.matrix)
#设置工作目录
setwd(“~/researchdatasets/2020”)
#声明数据帧
df=NULL
#在一个文件中列出所有文件
files1=list.files(模式='\\.nc4$',full.names=FALSE)
#循环以打开文件,获取NO2变量
对于(序列中的i(沿=文件1)){
nc_数据=nc_打开(文件1[i])
NO2_varNCO对所有输入文件中的变量进行平均,例如

ncra in*.nc out.nc