我有一个脚本,可以从* xlsx文件创建数据框。现在我想在脚本的顶部添加一个循环,它将读取多个文件并按行将数据框附加在一起。所有列名都匹配。我有以下示例代码和目前为止的内容。据我所知,脚本正在读取这两个文件,但每个文件都在写入前一个文件而不是附加到前一个文件。任何帮助将不胜感激!
filenames <- Sys.glob("*.xlsx")
data.files = list.files(pattern = "*.xlsx")
datalist = list()
for( title in c(paste(filenames , sep="."))) {
# ... make some data (final table named "Stats")
df <- data.frame(Stats)
df$title <- title # to keep track of file
datalist[[title]] <- df # add it to your list
}
big_data = do.call(rbind, datalist)
答案 0 :(得分:1)
为什么不尝试在循环中追加data.frames?类似的东西:
final.df <- data.frame()
for( title in c(paste(filenames , sep="."))) {
# ... make some data (final table named "Stats")
df <- data.frame(Stats)
final.df <- rbind(final.df, df)
}
big_data <- final.df
列可能存在一些问题,但您可以识别第一个数据框,只需将final.df
替换为第一个数据框。