[datatable-help] setkey removes attribute settings

Thell Fowler tbfowler4 at gmail.com
Thu Jun 9 01:01:26 CEST 2011


It looks like custom attributes are lost by a DF to DT creation, and when
the key info for a DT is invalidated, altered, etc...  I ran into this when
trying to attach some attribute info to a table that identifies column
groups so that a new global variable or passing another param to functions
wouldn't be needed.  This worked nicely, until I had need to either modify
some data in the table, which invalidates the key...

Was this a design decision?  If so, why?

Example::

> df <- data.frame( id=c(1:5), name= letters[1:5] )
> attr(df, 'testing') <- 'keep me'
> attr(df, 'testing')
[1] "keep me"
> dt <- data.table( df )
> attr(dt, 'testing')
NULL
> attr(dt, 'testing') <- 'keep me'
> attr(dt, 'testing')
[1] "keep me"
> df[ 5 , 'id' ] <- 53
> dt[ 5 , 'id' ] <- 53
> attr(df, 'testing')
[1] "keep me"
> attr(dt, 'testing')
[1] "keep me"
> setkey(dt)
> attr(dt, 'testing')
NULL
> attr(dt, 'testing') <- 'keep me'
> attr(dt, 'testing')
[1] "keep me"
> dt[ 5 , 'id' ] <- 3
> attr(dt, 'testing')
[1] "keep me"
> key(dt)
NULL

>

-- 
Sincerely,
Thell
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/datatable-help/attachments/20110608/a6af24f3/attachment.htm>


More information about the datatable-help mailing list