【问题标题】:Appending multiple files into a data frame using R使用 R 将多个文件附加到数据框中
【发布时间】:2014-03-29 23:19:27
【问题描述】:

我正在尝试将超过 10 000 个文件附加到 R 中的数据框中。这项工作的第一步是从

for(i in 1:10000) { assign(x = paste("data", i, sep = "_"), value = readHTMLTable((paste("webaddress_page=", i, sep = '')),which=1)) }

这很好用,我有 10 000 个文件,data_1-data_10000。但是,我想将这些文件附加到 data.frame 中,但不知道如何继续?我是添加另一个“数据步骤”,还是可以在现有代码中添加?

谢谢。

【问题讨论】:

    标签: r append rbind


    【解决方案1】:
    require(plyr)
    
    files <- data_1-data_10000
    
    dat <- ldply(files, function(fn) data.frame(read.table(fn, header = FALSE)))
    

    确保阅读read.table 中的选项并适合您的数据。

    编辑

    让我们试试这个:

    dat <- data.frame()
    
    for(i in 1:10000) { 
        dat.pre <- readHTMLTable((paste("webaddress_page=", i, sep = '')), which=1)
        n <- max(length(dat), length(dat.pre))
        length(dat) <- n
        length(dat.pre) <- n
        dat <- cbind(dat, dat.pre) 
    }    
    

    【讨论】:

    • 在 fn
    • 查看编辑,我分配错误,对此感到抱歉。 data_1-data_10000 是文件列表吗?
    • 没有。它不是一个列表。我想这就是文件不起作用的原因。由于我使用的是 library(XML) 中的 ReadHTMLTable,所有文件都是 data.frames。
    • 当您对其中一个文件执行str() 时会得到什么?
    • 我得到 'data.frame': 10 obs。 5 个变量:里面的一切都是因素
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 2012-09-26
    • 2023-03-16
    • 2014-01-08
    • 2021-10-21
    相关资源
    最近更新 更多