[R] Changing ungrouped cases to grouped cases

Rui Barradas ruipbarradas at sapo.pt
Fri Jul 20 21:09:03 CEST 2012


Hello,

Still with aggregate, use length() not sum().


dtagroup <- aggregate(y ~ A + B + C, data=dtf, sum)
dtalength <- aggregate(y ~ A + B + C, data=dtf, length)

# Now merge the two
names(dtalength)[4] <- "count"
mm <- merge(dtagroup, dtalength)

# And make it pretty
mm <- mm[, c("y", "A", "B", "C", "count")]
mm

Hope this helps,

Rui Barradas

Em 20-07-2012 19:52, Christopher Desjardins escreveu:
> As a follow up is there any way to also get the count for each combination?
> For example
>
>   y     A   B   C
>   0     1    1   2
>   0     1    2   1
>   1     1    1   2
>   0     1    1   2
>   1     1    1   2
>   1     1    2   1
>   0     1    2   2
>
> Should become:
>
>   y   A  B  C  count
>   2   1   1  2    4
>   1   1   2  1    2
>   0   1   2   2   1
> .
> .
> .
> So I would know there were 2 successes out of 4.
> Thanks!
> Chris
>
>
>
> On Fri, Jul 20, 2012 at 10:41 AM, Christopher Desjardins <
> cddesjardins at gmail.com> wrote:
>
>> Thanks the aggregate() command is what I was looking for.
>> Chris
>>
>>
>> On Thu, Jul 19, 2012 at 9:03 PM, David L Carlson <dcarlson at tamu.edu>wrote:
>>
>>>> dtf <- read.table(text="y     A   B   C
>>> + 0     1    1   2
>>> + 0     1    2   1
>>> + 1     1    1   2
>>> + 0     1    1   2
>>> + 1     1    1   2
>>> + 1     1    2   1
>>> + 0     1    2   2",
>>> + header=TRUE)
>>>> dtagroup <- aggregate(y~A+B+C, dtf, sum)
>>> # Gets you the groups. If you need the column/row order:
>>>
>>>> dtagroup <- dtagroup[order(dtagroup$y, decreasing=TRUE),c(4, 1:3)]
>>> ----------------------------------------------
>>> David L Carlson
>>> Associate Professor of Anthropology
>>> Texas A&M University
>>> College Station, TX 77843-4352
>>>
>>>> -----Original Message-----
>>>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
>>>> project.org] On Behalf Of Christopher Desjardins
>>>> Sent: Thursday, July 19, 2012 7:35 PM
>>>> To: R help
>>>> Subject: [R] Changing ungrouped cases to grouped cases
>>>>
>>>> Hi,
>>>> I have my data the following way:
>>>>
>>>> y     A   B   C
>>>> 0     1    1   2
>>>> 0     1    2   1
>>>> 1     1    1   2
>>>> 0     1    1   2
>>>> 1     1    1   2
>>>> 1     1    2   1
>>>> 0     1    2   2
>>>> .
>>>> .
>>>> .
>>>> And so on.  How can I make my data look like the following:
>>>> y   A  B  C
>>>> 2   1   1  2
>>>> 1   1   2  1
>>>> 0   1   2   2
>>>> .
>>>> .
>>>> .
>>>>
>>>> In other words how can I change my ungrouped cases into grouped cases?
>>>> Thanks!
>>>> Chris
>>>>
>>>>        [[alternative HTML version deleted]]
>>>>
>>>> ______________________________________________
>>>> 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.
>>>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> 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