[英]Getting a list of files that match a Windows Files Search Criteria in R
[英]Listing files that match a criteria in R
我有一系列文件。 每個文件名都有兩個數字。 第一個數字是世代號,可以是0到250之間的數字。下一個數字是型號在1到450之間的數字。
一些例子:
Generation_Flux_0_Model_10.txt
Generation_Flux_0_Model_5.txt
Generation_Flux_1_Model_20.txt
Generation_Flux_2_Model_17.txt
Generation_Flux_5_Model_9.txt
Generation_Flux_55_Model_5.txt
Generation_Flux_117_Model_2.txt
Generation_Flux_8_Model_23.txt
我只想列出一組指定的世代文件。 例如,獲取第1代和第8代的文件應僅列出:
Generation_Flux_ 1 _Model_20.txt和Generation_Flux_ 8 _Model_23.txt。
我寫了下面這行,只產生一個二進制值。
reactionFile = list.files(pattern = "\\.txt$")
generations = c(0, 1, 8)
str_extract(reactionFile,"\\d+")%in%generations
[1]是是是否否否否否是
試試這個模式:
list.files(pattern = "^Generation_Flux_[18]_Model_\\d+\\.txt$")
這只能與任何型號一起匹配第1代和第8代。
如果您有一組任意的世代號,則可以動態建立一個替代,例如
getGens <- function(v) {
pat <- paste0("(", paste0(v, collapse="|"), ")")
return(pat)
}
gens <- c(1, 50, 100, 150) # or any values you wish to use
pat <- paste0("^Generation_Flux_", getGens(gens), "_Model_\\d+\\.txt$")
list.files(pattern = pat)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.