【发布时间】:2020-01-31 05:28:01
【问题描述】:
我有一个包含 630 个 excel 文件的文件夹,所有文件名都相似。每个文件代表特定地理区域特定年份一个月的气候数据。我的目标是找到一种方法来迭代这些文件的导入并找到特定变量的平均值。所有文件的标题如下:
PRISM_ppt_stable_4kmM3_201201_bil
其中“ppt”代表数据所涉及的气候变量,“2012”代表 2012 年,“01”代表 1 月份。文件夹中下一个文件的标题为:
PRISM_ppt_stable_4kmM3_201202_bil
其中“ppt”代表同一个变量,“2012”再次代表 2012 年,“02”这次代表 2 月份。这些重复每年的每个月和 7 个不同的变量。变量的标题为:
ppt, vpdmax, vpdmin, tmax, tmin, tdmean, tmean
每个 excel 文件包含 11 个变量的 >1500 个观察值,我感兴趣的是在所有匹配的 tl_2016_us 变量中找到平均 MEAN 变量。一些快速的示例数据如下所示:
tl_2016_us MEAN
14136 135.808
14158 132.435
etc. etc.
这很棘手,因为我只想找到指定冬季(在本例中为 11 月到 3 月)的平均值。所以文件名中包含201211、201212、201301、201302和201303的所有文件都应该用tl_2016_us和对应的MEAN变量进行平均匹配。理想情况下,这个过程会重复到下一年 201311、201312、201401、201402、201403。至此,我已经使用了
list.files(path = "filepath", pattern ="*ppt*")
为 7 个变量中的每一个创建我的文件名列表。
【问题讨论】: