Oh, sorry, didn't notice you were making a new column, in that case: dt[,V3:=list(list(V1)),by=V2]
On Thu, Jun 25, 2015 at 3:48 PM, Frank Erickson <[email protected]> wrote: > Hi, > > I think you want > > dt[,.(list(V1)),by=V2] > # V2 V1 > # 1: a 1,4 > # 2: b 2,3 > > > Using the .() notation makes it easier to keep track of what columns are > being made, I find. > > --Frank > > On Thu, Jun 25, 2015 at 3:46 PM, Nicolas Paris <[email protected]> > wrote: > >> Hi, >> >> Here an example what I want to get : >> >> > dt <- data.table(c(1,2,3,4),c("a","b","b","a")) >> > dt >> V1 V2 >> 1: 1 a >> 2: 2 b >> 3: 3 b >> 4: 4 a >> >> What I want to get is a V3 column, containing an aggregated vector : >> > dt >> V1 V2 V3 >> 1: 1 a c(1,4) >> 2: 2 b c(2,3) >> >> That does not work : >> >> dt[,V3 := as.list(c(V1)),by=V2] >> >> Is there a way to do so ? >> >> Thanks >> >> >> >> _______________________________________________ >> 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
