Hi:

dt[, mean(A), by = 'B']
     B       V1
[1,] 1 1.000000
[2,] 2 1.666667
[3,] 3 2.333333
[4,] 4 3.000000

...and I can see you've found the data.table mailing list...

HTH,
Dennis

On Fri, Dec 3, 2010 at 3:38 PM, Santosh Srinivas <santosh.srinivas@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
>
> Thank you.
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]

