我有一个要导入 R 的文件列表。它们看起来像这样:
> dput(asia)
"chin074.csv", "indi001.csv", "indi001e.csv", "indi001l.csv",
"indi001n.csv", "indi001x.csv", "indi002.csv", "indi002e.csv", ...
我只想导入那些主名称后没有字母的文件。因此,我想导入 chin074.csv
和 indi001.csv
,但不导入 indi001e.csv
或 indi001l.csv
,主标题后有字母 e
和 l
。
我知道我可以使用 grep
的一些变体来做到这一点,但我不知道如何做。所以像这样:
asia<-grep(list.files(path="./asia/"), pattern='?', inv=T, value=T)
asia_new<- lapply(asia, read.csv)
我该怎么做?
最佳答案
您可以使用以下模式:
asia <- grep('[a-z]+\\d+\\.csv', asia, value = TRUE)
#[1] "chin074.csv" "indi001.csv" "indi002.csv"
我们选择包含一个或多个小写字母 (a-z
)、后跟一个或多个数字、后跟 .csv
的文件。
数据
asia <- c("chin074.csv", "indi001.csv", "indi001e.csv", "indi001l.csv",
"indi001n.csv", "indi001x.csv", "indi002.csv", "indi002e.csv")
关于r - 根据复杂模式列出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61427259/