我有一个名为的文件列表,例如:
"Experiment_myex1_test1"
"Experiment_myex1_test2"
"Experiment_myex1_test3"
"Experiment_myex2_test1"
"Experiment_myex2_test2"
"Experiment_myex2_test3"
"Experiment_myex3_test1"
"Experiment_myex3_test2"
"Experiment_myex3_test3" 等等(总共1000个文件)和一个如下所示的文件.txt:
df
List_of_ex
myex1
myex1
myex1
myex2
myex2
myex2
myex4
myex4
myex4 (由于*test1、*test2和*test3,它们一式三份出现)。
我想从list.files()获取与df[,1]中的模式匹配的文件列表。换句话说,我希望得到以下列表:
"Experiment_myex1_test1"
"Experiment_myex1_test2"
"Experiment_myex1_test3"
"Experiment_myex2_test1"
"Experiment_myex2_test2"
"Experiment_myex2_test3" 发布于 2017-02-18 02:36:18
假设您确信您将始终拥有"test1“、"test2”和"test3",则可以使用带有grep的正则表达式来完成此任务。
lapply(df[, 1], function(pattern_ex) {
lapply(c("test1", "test2", "test3"), function(pattern_test){
grep(pattern = paste0(pattern_ex, ".*", pattern_test, "$"),
x = list.files(),
value = T)
})
}) https://stackoverflow.com/questions/42302226
复制相似问题