【发布时间】:2020-07-16 11:20:00
【问题描述】:
我有一个包含多个文件的目录。文件名格式相同,如下所示:
mar_1999_cloglog.asc
mar_2000_cloglog.asc
mar_2001_cloglog.asc
等等
文件名的第一部分指的是月份(在本例中为三月),第二部分指的是年份(1999、2000 等)。
我还有一个单列数据框,每行包含一年:
'data.frame': 11 obs. of 1 variable:
$ yrlst: int 1998 2001 2002 2003 2004 2006 2009 2010 2011 2013
我正在尝试列出在数据框中找到年份的目录中的文件。我在目录中创建了一个文件列表,然后将dataframe转换为向量(dfvector),然后使用grep进行模式匹配,但是结果列表为空:
dirlst <- list.files(paste0("filepath", pattern = "cloglog", recursive = FALSE, full.names = TRUE)
test <- grep(list.files(dirlst), pattern = dfvector, value = TRUE)
我尝试了其他几种变体,但都没有成功。有人能帮忙吗?我确信这很容易,但我似乎无法理解它。
提前致谢。
【问题讨论】:
-
您的
dirlst已经包含list.files,并且在grep中您再次应用list.files(dirlst);这是故意的吗? -
@Bas 好点 - 我不需要
list.files两次...我不知道我为什么这样做