我正在使用以下几行读取一个文本文件。但是,我需要包括读取文本文件列表,但不是全部。我怎样才能在 R 中实现这一点?
我在 C:/data 路径中有多个文件夹。IE。1998_Data、1999_Data....等等,每个文件夹都有文本文件01.txt...49.txt。
提前致谢。
startingDir<-"C:/Data"
files <- list.files(path = startingDir,pattern = "24.txt",recursive=T,full.names=T)
我包含了下面的行,但它没有读取列表中的所有 3 个文件。有什么建议么?
my_files <- c("24.txt","01.txt","10.txt")
files <- list.files(path = startingDir,pattern = my_files,recursive=T,full.names=T)
那是因为pattern
需要一个正则表达式:
thepattern <- "24\\.txt|01\\.txt|10\\.txt"
files <- list.files(path = startingDir,
pattern = thepattern,
recursive=TRUE,
full.names=TRUE)
请记住,您必须对点进行转义,否则它会被解释为“任何东西”。
如果要自动执行此操作,可以执行以下操作:
my_files <- c("24.txt","01.txt","10.txt")
my_files <- gsub(".","\\.",my_files, fixed = TRUE)
my_pattern <- paste(my_files, collapse = "|")
您需要fixed = TRUE
输入gsub
以避免将点读作“任何东西”。也可以看看?regex
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句