在R bind中传递数据帧

时间:2016-05-12 16:35:24

标签: r dataframe rbind read.csv

ULTRON <- function(directory, pollutant, id = 1:332) {

        files_full <- list.files(directory, full.names = TRUE)       

        dat <- data.frame()

        for (i in id) {

                dat <- rbind(dat, read.csv(files_full[i]))
        }

    mean(dat[, pollutant], na.rm = TRUE)
}

有人可以详细解释上面代码中的以下内容

dat <- rbind(dat, read.csv(files_full[i]))

我无法理解rbind中传递的数据帧是如何工作的以及它返回的内容。

1 个答案:

答案 0 :(得分:2)

rbind()函数需要两个(或更多)数据帧并按行连接在一起。换句话说,它将两个数据帧“堆叠”在一起。如果一个数据框的列数多于或少于另一个,则R将不允许该操作发生(尽管请参阅rbind.fill以获得此方法)。

dat <- rbind(dat, read.csv(files_full[i]))

执行此操作后,dat将是之前的版本,底部会附加一个新的数据框。此数据框将是从files_full数组中读取的内容。