Thanks. Just getting used to data.table .. was wondering how to get
the middle part (need to use list()) in the brackets ... thanks

On Sat, Dec 4, 2010 at 9:21 AM, Steve Lianoglou
<[email protected]> wrote:
> Hi,
>
> On Fri, Dec 3, 2010 at 7:45 PM, Santosh Srinivas
> <[email protected]> wrote:
>> Someone in r-help recommended me to post the question in this group … TIA
>>
>>
>>
>> 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
>
> I'm not sure if I'm missing something, but this looks like what you want, no?
>
> R> dt[, list(D=mean(A)), by='B']
>     B        D
> [1,] 1 1.000000
> [2,] 2 1.666667
> [3,] 3 2.333333
> [4,] 4 3.000000
>
> --
> Steve Lianoglou
> Graduate Student: Computational Systems Biology
>  | Memorial Sloan-Kettering Cancer Center
>  | Weill Medical College of Cornell University
> Contact Info: http://cbio.mskcc.org/~lianos/contact
>
_______________________________________________
datatable-help mailing list
[email protected]
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/datatable-help

Reply via email to