<div>I expect DT2 <- unique.data.frame(DT1) to be a new object, but get a warning about pointers, so apparently it is not...? </div><div><br></div><div>A short example:</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px">

<div><div>DT1 <- data.table(1)</div></div><div><div>DT2 <- unique.data.frame(DT1)</div></div><div><div>DT2[,gah:=1]</div></div></blockquote><div><br></div><div>An example closer to my application, undoing a cartesian/cross join:</div>

<div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div>DT1 <- CJ(A=0:1,B=1:6,D0=0:1,D=0:1)[D>=D0]</div></div><div><div>setkey(DT1,A)</div></div><div><div>DT2 <- unique.data.frame(DT1[,-which(names(DT1)%in%'B'),with=FALSE])</div>

</div><div><div>DT2[,gah:=1] # warning: I should have made a copy, apparently</div></div></blockquote><div><br></div><div>I'm fine with explicitly making a copy, of course, and don't really know anything about pointers. I just thought I'd bring it up.</div>

<div><br></div><div>--Frank</div>