在读取R中的多个csv文件时将行追加到数据帧

在读取R中的多个csv文件时将行追加到数据帧,r,csv,dataframe,R,Csv,Dataframe,我在循环中读取多个csv文件,并对每个文件的数据执行一些计算,然后我希望将该新行添加到数据框中: for (i in csvFiles) { fileToBeRead<-paste(directory, i, sep="/") dataframe<-read.csv(paste(fileToBeRead, "csv", sep=".")) file <- i recordsOK <- sum(complete.cases(datafram

我在循环中读取多个csv文件,并对每个文件的数据执行一些计算,然后我希望将该新行添加到数据框中:

for (i in csvFiles) {
    fileToBeRead<-paste(directory, i, sep="/")

    dataframe<-read.csv(paste(fileToBeRead, "csv", sep="."))
    file <- i
    recordsOK <- sum(complete.cases(dataframe))

    record.data <- data.frame(monitorID, recordsOK)
} 
for(csvFiles中的i){

fileToBeRead一次构建一行data.frame几乎总是错误的方法。这里有一个更像R的解决方案

OKcount<-sapply(csvFiles, function(i) {
    fileToBeRead<-paste(directory, i, sep="/")

    dataframe<-read.csv(paste(fileToBeRead, "csv", sep="."))
    sum(complete.cases(dataframe))
})

record.data <- data.frame(monitorID=seq_along(csvFiles), recordsOK=OKcount)
但这意味着您需要在循环外部定义
record.data
,并使用正确的列名和数据类型对其进行初始化,因为只能组合匹配的data.frames。您可以使用

record.data <- data.frame(monitorID=numeric(), recordsOK=numeric())

record.data谢谢,正是我需要的。
record.data <- data.frame(monitorID=numeric(), recordsOK=numeric())