[R] Create a new dataframe from an existing dataframe

Gang Chen gangchen at mail.nih.gov
Mon Jan 7 20:55:21 CET 2008


Sorry the new column in DF2 should be called FreqD instead of FreqA.  
How can I get DF2 with aggregate?

Gang

On Jan 7, 2008, at 2:38 PM, Gang Chen wrote:

> Yes, I misstated it when I said that I would keep B and C. I want to
> collapse column A, but count the frequency of D as a new column in
> the new dataframe DF2 while collapsing A. The rows of columns B, C,
> and D of course would be reduced because of A collapsing.
>
> For example, if dataframe DF is
>
> A    B   C   D
> A1  B1 C1 D1
> A1  B2 C1 D1
> A1  B1 C1 D1
> A1  B2 C2 D2
> A2  B1 C1 D1
> A1  B2 C2 D2
> A1  B1 C2 D2
> A2  B2 C1 D1
> A1  B1 C2 D2
> A2  B2  C1 D1
> ......
>
> I would like to have a new dataframe DF2
>
> B   C   D     FreqA
> B1 C1 D1     6
> B1 C1 D2     31
> B1 C2 D1     8
> B1 C2 D2    14
> B2 C1 D1    12
> B2 C1 D2    43
> B2 C2 D1    23
> B2 C2 D2    43
>
> Thanks,
> Gang
>
>
>
> On Jan 7, 2008, at 2:06 PM, Duncan Murdoch wrote:
>
>> On 1/7/2008 1:28 PM, Gang Chen wrote:
>>> I have a dataframe DF with 4 columns (variables) A, B, C, and D,
>>> and  want to create a new dataframe DF2 by keeping B and C in DF
>>> but  counting the frequency of D while collapsing A. I tried
>>> by(DF$D, list(DF$B, DF$C), FUN=summary)
>>> but this is not exactly what I want. What is a good way to do it?
>>
>> I think you can't do that.  If you want to keep B and C, then you
>> can't reduce the number of rows, but "collapsing A" sounds like you
>> want fewer rows.
>>
>> Perhaps if you posted a simple before and after example?
>>
>> Duncan Murdoch
>
> ______________________________________________
> R-help at 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.




More information about the R-help mailing list