【发布时间】:2020-07-18 13:11:55
【问题描述】:
我需要一些帮助,在 R 中创建一个数据集,其中每个观测值都包含纬度、经度和日期。现在,我有一个按纬度/经度网格划分的大约 2,000 个文件的列表,每个文件都包含一个日期的观察结果。最终,我需要做的是将所有这些文件合并到一个文件中,其中每个观察值都包含一个从文件名中提取的日期变量。
例如,一个文件名为“MERRA2_400.tavg1_2d_flx_Nx.20120217.SUB.nc”。我希望该文件中的所有观察结果都包含 2012 年 2 月 17 日的日期变量。
那个“nc”扩展描述了一个netCDF文件,可以读入R如下:
library(RNetCDF)
setwd("~/Desktop/Thesis Data")
p1a<-"MERRA2_300.tavg1_2d_flx_Nx.20050101.SUB.nc"
pid<-open.nc(p1a)
dat<-read.nc(pid)
我知道ldply 命令对于从文件名中提取和指定新变量很有用。但我需要创建一个循环来组合上面“论文数据”文件夹中的所有文件(设置为我的 wd),并在此过程中为它们提供日期变量。
我一直在尝试使用两个单独的循环。第一个循环逐个上传文件,根据文件名创建一个日期变量,然后将它们重新保存到一个新文件夹中。第二个循环连接该新文件夹中的所有文件。这种策略我运气不佳。
正如您希望在这张描述上面上传的数据文件的图片中看到的那样,每个文件都包含一个时间变量,但该时间变量在每个文件中都有一个观察值,即 690。所以我可以用文件名中的日期替换那个变量,或者我可以创建一个新变量——任何一个都可以。
任何帮助将不胜感激!
【问题讨论】:
标签: r loops date time-series netcdf