[R] Create a new dataframe from an existing dataframe

Gang Chen gangchen at mail.nih.gov
Mon Jan 7 20:38:12 CET 2008

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


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

More information about the R-help mailing list