This is actually intended behaviour and I had the problem once as well. Here is my question and the solution to it:
http://stackoverflow.com/questions/8030452/pass-by-reference-the-operator-in-the-data-table-package In a nutshell: Use copy() if you don't want table2 to have y as well. I hope this helps, Christoph On Thu, Oct 4, 2012 at 1:56 PM, natus <[email protected]> wrote: > Hello, > > see this example : > > require(data.table) > > table1<-data.table(id=c(1,2,3),x=c(1,2,3)) > table2<-table1 > table1[,y:=sum(x)] > table1 > table2 > > The problem ? Both of table1 and table2 have the variable 'y' BUT only > table1 should. > > Thx > > > > -- > View this message in context: > http://r.789695.n4.nabble.com/data-table-BUG-data-table-assignment-tp4644988.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 >
_______________________________________________ datatable-help mailing list [email protected] https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help
