在读取R中的多个csv文件时将行追加到数据帧
我在循环中读取多个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
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())