读取多个文件中的结果并将其保存到同一数据帧中

时间:2018-03-06 14:12:43

标签: r

我在同一目录中有许多不同的文件。

我用这个来获取所有文件。

 setwd("C:/Users/Christopher/Desktop/mydata")
 temp = list.files(pattern="myfile_.+\\.csv")
 myfiles = lapply(temp, read.delim)

所有文件都有相同的名称列。

我想创建一个df,它将包含所有文件的数据,就像使用read.csv()获取唯一文件一样。

我试过了:

df <- read.csv(file=myfiles, header=TRUE, sep=",")

但错误是这样的:

Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
  'file' must be a character string or connection

我该如何解决?

此处的以下行读取文件并为每个文件创建不同的数据框。

temp = list.files(pattern="badges_.+\\.csv")
for (i in 1:length(temp)) assign(temp[i], read.csv(temp[i]))

是否可以将它用于一个df?

1 个答案:

答案 0 :(得分:1)

查看dplyr::bind_rows()函数,将myfiles合并到一个data.frame中。您可以像普通数据框一样保存它。

setwd("C:/Users/Christopher/Desktop/mydata")
temp = list.files(pattern="myfile_.+\\.csv")
myfiles = lapply(temp, read.csv)
big_df <- dplyr::bind_rows(myfiles)