Hello, I have searched through the R-help archive and find that the easiest way to concatenate data records in a dataframe is to use rbind() I know we can do that using rbind, but it is slow when we are doing rbind thousands of times to a growing list, each time adding one or two records to the ever growing existing data because in existingRecords<-rbind(existingRecords, aNewRecordToBeAdded), I am making a copy of the data each time rbind is called! Is there a way to avoid these data copying? Thank you in advance! Charles
Concatenating data frame
3 messages · Charles Cheung, jim holtman, Francisco J. Zagmutt
An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/r-help/attachments/20060510/40defba8/attachment.pl
And adding to Jim's solution, you may be able to further improve the speed
of your code by pre-allocating the list size i.e
result <- vector("list",100)
for (i in 1:100){
result[[i]] <- data.frame(id=sample(letters,1), value=i)
}
newDataFrame <- do.call('rbind', result)
Cheers
Francisco
From: "jim holtman" <jholtman at gmail.com>
To: "Charles Cheung" <boom2k1 at hotmail.com>
CC: r-help at stat.math.ethz.ch
Subject: Re: [R] Concatenating data frame
Date: Wed, 10 May 2006 19:02:15 -0400
Put the intermediate results in a list and then use do.call:
result <- list()
for (i in 1:100){
result[[i]] <- data.frame(id=sample(letters,1), value=i)
}
newDataFrame <- do.call('rbind', result)
On 5/10/06, Charles Cheung <boom2k1 at hotmail.com> wrote:
Hello, I have searched through the R-help archive and find that the easiest way to concatenate data records in a dataframe is to use rbind() I know we can do that using rbind, but it is slow when we are doing
rbind
thousands of times to a growing list, each time adding one or two
records
to the ever growing existing data because in existingRecords<-rbind(existingRecords, aNewRecordToBeAdded), I am making a copy of the data each time rbind is called! Is there a way to avoid these data copying? Thank you in advance! Charles
______________________________________________ R-help at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
-- Jim Holtman Cincinnati, OH +1 513 646 9390 (Cell) +1 513 247 0281 (Home) What the problem you are trying to solve? [[alternative HTML version deleted]]
______________________________________________ R-help at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html