On Tue, 23 Nov 2010, Joel wrote:


Hi

When I try to update an number in a large data.frame by its pos It's really
slow it take almost a sec to do this and I wonder why and if where is any
faster way to update a number in a data.frame

ive tried

DF$col[POS]<-number
DF[xPOS,yPOS]<-number

See

        ?tracemem

then try

        tracemem( DF )
        DF$col[POS]<-number
        DF[xPOS,yPOS]<-number

then
        mat <- as.matrix( DF )
        tracemem( mat )
        mat[ 2,3 ] <- 4
        mat[ 15 ] <- 5

If your data.frame can be represented by a matrix, a single update will likely be faster as it can be done without making any copies.

If you are doing more than one update, it will help to do them all at once. Reread

        ?Subscript

and section 5.2 and 5.3 of Intro to R if you are unsure how to do that.

HTH,

Chuck


Thx
//Joel
--
View this message in context: 
http://r.789695.n4.nabble.com/Slow-update-insert-on-Data-frame-tp3055707p3055707.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.


Charles C. Berry                            Dept of Family/Preventive Medicine
cbe...@tajo.ucsd.edu                        UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

______________________________________________
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.

Reply via email to