假设我们有一个包含多个data.csv文件的文件夹,每个文件包含相同数量的变量,但每个变量包含不同的时间.R中有没有办法同时导入它们而不必单独导入它们?
我的问题是我有大约2000个数据文件要导入,只需使用代码就可以单独导入它们:
read.delim(file="filename", header=TRUE, sep="\t")
Run Code Online (Sandbox Code Playgroud)
不是很有效率.
如何使用通配符识别字符串?
我发现了glob2rx,但我不太明白如何使用它.我尝试使用以下代码来选择以单词开头的数据框行blue:
# make data frame
a <- data.frame( x = c('red','blue1','blue2', 'red2'))
# 1
result <- subset(a, x == glob2rx("blue*") )
# 2
test = ls(pattern = glob2rx("blue*"))
result2 <- subset(a, x == test )
# 3
result3 <- subset(a, x == pattern("blue*") )
Run Code Online (Sandbox Code Playgroud)
但是,这些都没有奏效.我不确定我是否应该使用不同的功能来尝试这样做.
我想使用循环读取多个 csv 文件并在 R 中附加一个列表。
path = "~/path/to/csv/"
file.names <- dir(path, pattern =".csv")
mylist=c()
for(i in 1:length(file.names)){
datatmp <- read.csv(file.names[i],header=TRUE, sep=";", stringsAsFactors=FALSE)
listtmp = datatmp[ ,6]
finallist <- append(mylist, listtmp)
}
finallist
Run Code Online (Sandbox Code Playgroud)
对于每个 csv 文件,所需的列具有不同的长度。最后,我想从所有 csv 文件中获取包含该特定列中所有值的完整附加列表。
我对R相当陌生,所以我不确定我错过了什么......