将名称中包含日期的文件缩小到r中的特定月份

  • 本文关键字:文件 包含 日期 缩小 r
  • 更新时间 :
  • 英文 :


我有数千个.tif文件,其中包含每日温度数据。文件名以如下格式包含日期:tminYYYYMMDD.tif,这里是一个示例:

tmin19810707.tif
tmin19810508.tif
tmin19810314.tif
tmin19810227.tif

我只需要这些年的6月(06)、7月(07)、8月(08)的数据。如何选择并使用这些月份的文件进行进一步处理?

您可以将grep与指示模式的正则表达式一起使用:

grep("\D+\d{4}0[6-8]", x, value = TRUE)
[1] "tmin19810707.tif"

x<- c("tmin19810707.tif", "tmin19810508.tif", "tmin19810314.tif", "tmin19810227.tif")

我们可以用substr来解R:

x <- c("tmin19810707.tif", "tmin19810508.tif", "tmin19810314.tif",
"tmin19810227.tif")
output <- x[substr(x, 9, 10) %in% c("06", "07", "08")]
output
[1] "tmin19810707.tif"

从@onyambu的答案中窃取正则表达式

list.files(path = "./mypath", pattern = "\D+\d{4}0[6-8].*\.tif$")

最新更新