Ah yes, will do. Thanks again. Automatically part of #2316 by dint of link back to this thread.
> One other small thing in the docs along these lines: Now that > assignment by reference does not print by default, the last few > examples in ?data.table kind of lose something. > > e.g. instead of > DT[, z:=42L] > > maybe make it one of these? > DT[, z:=42][] > (DT[, z:=42L]) > print(DT[, z:=42L]) > DT[, z:=42L]; DT > > Best, > Garrett > > On Tue, Oct 16, 2012 at 4:40 AM, Matthew Dowle <[email protected]> > wrote: >> >> Well spotted, thanks. Will do. Filed as #2316 linking back to this >> thread. >> >> And will include this in ?transform.data.table : >> >> dt[, transform(.SD, c=max(b)), by="a"] >> dt[, c:=max(b), by="a"] # same, but much much faster >> >> Btw, just to highlight to all that `:=`() is working, and by group, in >> 1.8.3 now. This makes multiple := by group particularly elegant. Thanks >> to >> Thell Fowler for the suggestion. >> >> DT[, `:=`(newcol1:=max(a), >> newcol2:=min(b), >> existingcol:=max(c), >> newcol3:=mean(a)), by=grp] >> >> Rather than multiple LHS and having to set with=FALSE, which also now >> works by group and you no longer need with=FALSE. But `:=`(...) gets >> each >> LHS and RHS together on one line in pairs, so makes it easier to read. >> >> For people who have joined the list recently, the latest >> info/documentation is always in NEWS first. It usually takes a version >> or >> two for it to be fleshed out in the help files. "NEWS" is considered >> documentation : >> >> https://r-forge.r-project.org/scm/viewvc.php/pkg/NEWS?view=markup&root=datatable >> >> >>> It was not clear to me from the help page when I should use >>> `transform` or `within` instead of `:=`. >>> >>> May I suggest copying the following comment (found in data.table.R) to >>> the help page? >>> >>> # `within` and other similar functions in data.table are >>> # not just provided for users who expect them to work, or >>> # prefer syntax they're used to, but for non-data.table-aware >>> # packages to retain keys (for example). Hopefully users and >>> # code will use the faster data.table syntax in time. >>> >>> Also, the examples section of ?transform.data.table has the following >>> commented out "example" >>> >>> # dt[, transform, c = max(b), by="a"] # like "ave" >>> >>> If run, this will give an error >>> Error in `[.data.table`(dt, , transform, c = max(b), by = "a") : >>> unused argument(s) (c = max(b)) >>> >>> Based on test 104, I think that should be changed to >>> >>> dt[, transform(.SD, c=max(b)), by="a"] >>> >>> Best, >>> Garrett >>> _______________________________________________ >>> 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
