我有一個文件列表,我試圖提取所有layer1 _ *。grd文件。有一種方法可以在一個grep表達式中執行此操作嗎?試圖刪除文件列表
lof <- c("layer1_1.grd", "layer1_1.gri", "layer1_2.grd", "layer1_2.gri",
"layer1_3.grd", "layer1_3.gri", "layer1_4.grd", "layer1_4.gri",
"layer1_5.grd", "layer1_5.gri", "layer2_1.grd", "layer2_1.gri",
"layer2_2.grd", "layer2_2.gri", "layer2_3.grd", "layer2_3.gri",
"layer2_4.grd", "layer2_4.gri", "layer2_5.grd", "layer2_5.gri",
"layer3_1.grd", "layer3_1.gri", "layer3_2.grd", "layer3_2.gri",
"layer3_3.grd", "layer3_3.gri", "layer3_4.grd", "layer3_4.gri",
"layer3_5.grd", "layer3_5.gri", "layer4_1.grd", "layer4_1.gri",
"layer4_2.grd", "layer4_2.gri", "layer4_3.grd", "layer4_3.gri",
"layer4_4.grd", "layer4_4.gri", "layer4_5.grd", "layer4_5.gri")
我試圖分兩步做這個:
list.of.files <- list.files(pattern = c("1_"))
list.of.files <- list.of.files[grep(".grd", list.of.files)]
有人能賜教如何在一個步驟使用grep做到這一點?我天真地嘗試將list()和c()傳遞給grep,但是,正如你可以想象的那樣,它不起作用。
list.of.files <- list.files()
list.of.files <- list.of.files[grep(list("1_", ".grd"), list.of.files)]
要獲得匹配的值,可以使用'grep(「layer1 _。*。grd」,lof,value = TRUE)''。 – Marek 2010-05-13 18:54:07
我想''layer1 _。* \\。grd「'因爲單點意味着」匹配一個字符「,所以''。*。」'和'「。+」'給出了相同的結果。檢查'grep(「layer1 _。*。grd」,「layer1_xgrd」)'。 – Marek 2010-05-13 19:04:58