Я определил функцию для обработки каждого CSV-файла, и она возвращает матрицу. Я хотел бы использовать эту функцию в цикле for для обработки всех файлов и объединения всех данных в одну большую матрицу. Но похоже этот код не работает.
filenames=dir()
bigMatrix = processEachCSV(filenames[1])
for (i in 2:length(filenames1)) {
x = processEachCSV(filenames[i])
bigMatrix=rbind[bigMatrix,x]
}
Я думаю, это потому, что я не могу связать x и bigMatrix и назначить его самому bigMatrix?
Что мне делать вместо этого?
Функции processEachCSV выглядят следующим образом:
processEachCSV <- function (filename){
x = read.table(filename, header=F, sep=',', fileEncoding='UTF-8')
x$V4=as.numeric(gsub("[^0-9.]",'', as.character(x$V4)))
x$V5=as.numeric(gsub("[^0-9.]",'', as.character(x$V5)))
x$V6=substr(filename, 1, nchar(filename)-4)
colnames(x)=c('DateTime','Site','AQI','PM25','PM10','City')
x=as.matrix(x)
return (x)
}
list
, а затем используйтеdo.call(rbind, yourList)
. - person A5C1D2H2I1M1N2O1R2T1   schedule 06.03.2015rbind
вам нужно использовать()
, а не[]
, верно? - person A5C1D2H2I1M1N2O1R2T1   schedule 06.03.2015