As Matthew is saying, I am using v.1.8.7 (lattest release) I get a warning:
R> test.dt[, tc := which(name==order), by=list(ID, name)] Warning message: In `[.data.table`(test.dt, , `:=`(tc, which(name == order)), by = list(ID, : Invalid .internal.selfref detected and fixed by taking a copy of the whole table, so that := can add this new column by reference. At an earlier point, this data.table has been copied by R. Avoid key<-, names<- and attr<- which in R currently (and oddly) may copy the whole data.table. Use set* syntax instead to avoid copying: setkey(), setnames() and setattr(). Also, list(DT1,DT2) will copy the entire DT1 and DT2 (R's list() copies named objects), use reflist() instead if needed (to be implemented). If this message doesn't help, please report to datatable-help so the root cause can be fixed. -- View this message in context: http://r.789695.n4.nabble.com/Crash-when-assigning-column-tp4656168p4656197.html Sent from the datatable-help mailing list archive at Nabble.com. _______________________________________________ datatable-help mailing list [email protected] https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
