【发布时间】:2019-03-11 16:31:10
【问题描述】:
我正在尝试处理从同一文件路径中的多个 .grb2 文件中提取子集,并将它们写入单独的 csv 文件中。我正在使用以下代码来完成这项工作并将 csv 文件存储在与 .grb2 文件相同的目录中。
path <- "file path"
input.file.names <- dir(path, pattern =".grb2")
output.file.names <-
paste0(tools::file_path_sans_ext(input.file.names),".csv")
for(i in 1:length(input.file.names)){
GRIB <- brick(input.file.names[i])
GRIB <- as.array(GRIB)
tmp2m.6hr <- GRIB[46,13,c(1:20)]
str(tmp2m.6hr)
tmp2m.data <- data.frame(tmp2m.6hr)
write.csv(tmp2m.data,output.file.names[i])
}
我的第一个问题是:如何将 csv 文件存储在与 .grb2 文件不同的目录中? 我的 .grb2 文件以及生成的 csv 文件以四种不同的类型结尾,即 00.grb2、06.grb2、12.grb2、18.grb2。生成的 csv 文件格式如下:
我的第二个问题是:如何将我所有的 00.csv、06.csv、12.csv、18.csv 文件(同一列中的每个类别)合并到我选择的目录中的单个 csv 文件中以下标题:00_tmp2m.6hr, 06_tmp2m.6hr, 12_tmp2m.6hr, 18_tmp2m.6hr, 并用其他四列的平均值创建第五列?我想要的结果如下:
由于我不是经验丰富的用户,这对我来说太复杂了。我非常感谢您对此提供的任何帮助。
【问题讨论】: