I populated my object just using as.list(myDataFrame). My problem is that after doing this, all assignments of the other slot (index) become very slow.
Thank you for your reply. André Rosi 2011/9/7 William Dunlap <wdun...@tibco.com> > You did not show the code you used to populate your > object, but consider the following ways to make as.list(1:50000) > via repeated assignments: > > > system.time( { z0 <- list() ; for(i in 1:50000)z0[i] <- list(i) } ) > user system elapsed > 13.34 0.00 13.42 > > system.time( { z1 <- list() ; for(i in 1:50000)z1[[i]] <- i } ) > user system elapsed > 12.98 0.00 13.36 > > system.time( { z2 <- vector("list",50000) ; for(i in 1:50000)z2[i] <- > list(i) } ) > user system elapsed > 0.28 0.00 0.26 > > system.time( { z3 <- vector("list",50000) ; for(i in 1:50000)z3[[i]] <- > i } ) > user system elapsed > 0.22 0.00 0.20 > > identical(z0,z1) && identical(z0,z2) && identical(z0,z3) > [1] TRUE > > Preallocating a vector to its ultimate size can be much faster than > repeatedly expanding it. > > Bill Dunlap > Spotfire, TIBCO Software > wdunlap tibco.com > > > -----Original Message----- > > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] > On Behalf Of André Rossi > > Sent: Wednesday, September 07, 2011 3:08 PM > > To: r-help@r-project.org > > Subject: [R] Very slow assignments > > > > I'm creating an object of a S4 class that has two slots: ListExamples, > which > > is a list, and idx, which is an integer (as the code below). > > > > Then, I read a data.frame file with 10000 (ten thousands) of lines and 10 > > columns, do some pre-processing and, basically, I store each line as an > > element of a list in the slot ListExamples of the S4 object. However, any > > kind of assignment operation (<-) that I try to do after this took a > > considerable time. > > > > Can anyone explain me why dois it happen? Is it possible to speed up an > > script that deals with a big number of data (it might be data.frame or > > list)? > > > > Thank you, > > > > André Rossi > > > > setClass("Buffer", > > representation=representation( > > Listexamples = "list", > > idx = "integer" > > ) > > ) > > > > [[alternative HTML version deleted]] > [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.