我有一个光栅文件列表,其名称中包含日期,我还有其他日期列表。我想只提取他们的名字或日期与我的日期列表匹配的光栅文件! 我怎么做! 这是我的代码,以便更好地理解!
files <- list.files(full.names=T, pattern=paste0("_S2_B|L8_sr_"))
rootName <- substring(basename(files),1,7)
date_raster <- as.Date(rootName,'%Y%j')
然后在这里我得到每个光栅文件的日期名称,如下所示,
[1] "2013-04-15" "2013-04-15" "2013-04-15" "2013-04-15" "2013-04-15" "2013-04-15" "2013-04-24" "2013-04-24" "2013-04-24" "2013-04-24"
[11] "2013-04-24" "2013-04-24" "2013-05-01" "2013-05-01" "2013-05-01"
我只想提取日期名称与这些日期匹配的文件!
humid_date <- raster_humid$date
[1] "2014-05-13" "2014-07-23" "2014-09-02" "2014-09-18" "2015-01-31" "2015-09-12" "2015-09-21" "2015-12-10" "2015-12-28" "2016-01-14" "2016-04-13"
[12] "2016-05-23" "2016-05-25" "2016-07-12" "2016-07-22" "2016-07-25"
提前致谢,
答案 0 :(得分:1)
如果我正确理解您的问题,您可以获得文件名中所有日期的列表以及您要选择的日期列表。在这种情况下,您可以使用which(x %in% y)
,如下所示。由于我懒得重新格式化你的示例数据(对不起),我自己创建了一些并希望它们与你的相似。我希望这就是你要找的东西。 (您可能需要将date
类型转换为character
才能进行匹配)
files <- paste0(9:1, "file")
dates_files <- substr(files, 1,1)
select_dates <- as.character(c(1,3,5))
files[which(dates_files %in% select_dates)]
#[1] "5file" "3file" "1file"