Hello Group,
I need a modification in the data.table example to get my intended
result shown below ... is there a more simple way!
dt <- data.table(A = rep(1:3, each=4), B = rep(1:4, each=3), C = rep(1:2, 6))
dt[, transform(.SD,D=mean(A)), by="B"]
The result I want is below ... which is probably long winded!
data.table(unique(as.data.frame(dt[, transform(.SD,D=mean(A)),
by="B"][,list(B,D)])))
B D
[1,] 1 1.000000
[2,] 2 1.666667
[3,] 3 2.333333
[4,] 4 3.000000
Thank you.
data.table query
3 messages · Santosh Srinivas, Gabor Grothendieck, Dennis Murphy
On Fri, Dec 3, 2010 at 6:38 PM, Santosh Srinivas
<santosh.srinivas at gmail.com> wrote:
Hello Group, I need a modification in the data.table example to get my intended result shown below ... is there a more simple way! dt <- data.table(A = rep(1:3, each=4), B = rep(1:4, each=3), C = rep(1:2, 6)) dt[, transform(.SD,D=mean(A)), by="B"] The result I want is below ... which is probably long winded! data.table(unique(as.data.frame(dt[, transform(.SD,D=mean(A)), by="B"][,list(B,D)]))) ? ? B ? ? ? ?D [1,] 1 1.000000 [2,] 2 1.666667 [3,] 3 2.333333 [4,] 4 3.000000
data.table has its own mailing list.
Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20101204/619ba231/attachment.pl>