[datatable-help] v1.7.3 submitted to CRAN
Matthew Dowle
mdowle at mdowle.plus.com
Fri Nov 25 02:37:11 CET 2011
NEW FEATURES
o data.table now over-allocates its vector of column pointer slots
(100 by default). This allows := to add columns fully by
reference as suggested by Muhammad Waliji, #1646. When the 100
slots are used up, more space is automatically allocated.
Over allocation has negligible overhead. It's just the vector
of column pointers, not the columns themselves.
o New function alloc.col() pre-allocates column slots. Use
this before a loop to add many more than 100 columns, for example,
to avoid the warning as data.table grows its column pointer vector
every additional 100 columns; e.g.,
alloc.col(DT,10000) # reserve 10,000 column slots
o New function truelength() returns the number of column pointer
slots allocated, always >= length().
o New option 'datatable.nomatch' allows the default for nomatch
to be changed from NA to 0, as wished for by Branson Owen.
o cbind(DT,...) now retains DT's key, as wished for by Chris Neff
and partly implementing FR#295.
BUG FIXES
o Assignment to factor columns (using :=, [<- or $<-) could cause
'variable not found' errors and a seg fault in some circumstances
due to a new feature in v1.7.0: "Factor columns on LHS of :=, [<-
and $<- can now be assigned new levels", fixing #1664. Thanks to
Daniele Signori for reporting.
o DT[i,j]<-value no longer crashes when j is a factor column and value
is numeric, fixing #1656.
o An unnecessarily strict machine tolerance test failed CRAN checks
on Mac preventing v1.7.2 availability for Mac (only).
USER VISIBLE CHANGES
o := now has its own help page in addition to the examples
in ?data.table, see help(":=").
o The error message from X[Y] when X is unkeyed has been lengthened to
including advice to call setkey first and see ?setkey. Thanks to a
comment by ilprincipe on Stack Overflow.
o Deleting a missing column is now a warning rather than error. Thanks
to Chris Neff for reporting, #1642.
More information about the datatable-help
mailing list