我有数千个.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$")