[datatable-help] key<- messes with my factors
Chris Neff
caneff at gmail.com
Tue Nov 15 16:43:39 CET 2011
key<- with a factor mixes up factor levels, and loses the is.ordered
property too.
Pretty simple example:
> dt=data.table(x=factor(1:20,ordered=TRUE),y=rnorm(20))
> dt$x
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Levels: 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < 11 < 12 < 13 < 14 <
15 < 16 < 17 < 18 < 19 < 20
> dt$x
[1] 1 10 11 12 13 14 15 16 17 18 19 2 20 3 4 5 6 7 8 9
Levels: 1 10 11 12 13 14 15 16 17 18 19 2 20 3 4 5 6 7 8 9
With integers I could of course just leave them as integers instead of
turning it into a factor, but the real case happening to me is I have
upper cutoffs of buckets of a float variable, so I can't keep the
simple numeric value for a key so it must be a factor. However, I want
it to be ordered so that the factors still go lowest bucket to
highest.
I think this is a bug but I want confirmation before filing.
-Chris
More information about the datatable-help
mailing list