[R] WG: Fw: Re: dplyr : row total for all groups in dplyr summarise
Jeff Newmiller
jdnewmil at dcn.davis.ca.us
Wed Jul 6 17:24:03 CEST 2016
Cut and paste is not to blame... it is the use of word processing software rather than text editors for manipulating code that is the problem.
Georg: note that plyr does not mix very well with dplyr... try to pick one and stick with it.
--
Sent from my phone. Please excuse my brevity.
On July 6, 2016 7:41:49 AM PDT, David L Carlson <dcarlson at tamu.edu> wrote:
>It's the cut and paste monster. Somewhere along the way, the final "
>got converted to ” which R does not see.
>
>> "100%”
>
>+ > "100%"
>[1] "100%"
>
>-------------------------------------
>David L Carlson
>Department of Anthropology
>Texas A&M University
>College Station, TX 77840-4352
>
>
>-----Original Message-----
>From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of
>G.Maubach at weinwolf.de
>Sent: Wednesday, July 6, 2016 3:34 AM
>To: r-help at r-project.org
>Subject: [R] WG: Fw: Re: dplyr : row total for all groups in dplyr
>summarise
>
>Hi All,
>
>if I run the suggested code
>
>mtcars %>%
> group_by (am, gear) %>%
> summarise (n = n()) %>%
> mutate(rel.freq = paste0(round(100 * n / sum(n), 0), "%")) %>%
> ungroup() %>%
> plyr::rbind.fill(data.frame(n = nrow(mtcars), rel.freq =
> "100%”))
>
>I get
>
>> mtcars %>%
>+ group_by (am, gear) %>%
>+ summarise (n = n()) %>%
>+ mutate(rel.freq = paste0(round(100 * n / sum(n), 0), "%")) %>%
>+ ungroup() %>%
>+ plyr::rbind.fill(data.frame(n = nrow(mtcars), rel.freq =
>+ "100%”))
>
>
>
>
>+
>
>
>R stops execution cause something within the prgram syntax is missing.
>
>What has to be changed to be able to run the code?
>
>Kind regards
>
>Georg Maubach
>
>
>> Gesendet: Dienstag, 05. Juli 2016 um 18:30 Uhr
>> Von: "David Winsemius" <dwinsemius at comcast.net>
>> An: maicel at infomed.sld.cu
>> Cc: r-help at r-project.org
>> Betreff: Re: [R] dplyr : row total for all groups in dplyr summarise
>>
>>
>>
>> mtcars %>%
>> group_by (am, gear) %>%
>> summarise (n=n()) %>%
>> mutate(rel.freq = paste0(round(100 * n/sum(n), 0), "%")) %>%
>> ungroup() %>% plyr::rbind.fill(data.frame(
>n=nrow(mtcars),rel.freq="100%”))
>>
>>
>> > On Jul 5, 2016, at 4:47 AM, maicel at infomed.sld.cu wrote:
>> >
>> > Sorry, what I wanted to do was to add a total row at the end of the
>
>summary. The marginal totals by columns correspond to 100% and the sum
>of
>levels.
>> > best reagard
>> > Maicel Monzon
>> >
>> >
>> > Ulrik Stervbo <ulrik.stervbo at gmail.com> escribió:
>> >
>> >> Yes. But in the sample code the data is summarised. In which case
>you
>get 4
>> >> rows and not the correct 32.
>> >>
>> >> On Tue, 5 Jul 2016, 07:48 David Winsemius,
><dwinsemius at comcast.net>
>wrote:
>> >>
>> >>> nrow(mtcars)
>> >>>
>> >>>
>> >>> Sent from my iPhone
>> >>>
>> >>> On Jul 4, 2016, at 9:03 PM, Ulrik Stervbo
><ulrik.stervbo at gmail.com>
>wrote:
>> >>>
>> >>> That will give you the wrong result when used on summarised data
>> >>>
>> >>> David Winsemius <dwinsemius at comcast.net> schrieb am Di., 5. Juli
>2016
>> >>> 02:10:
>> >>>
>> >>>> I thought there was an nrow() function?
>> >>>>
>> >>>> Sent from my iPhone
>> >>>>
>> >>>> On Jul 4, 2016, at 9:59 AM, Ulrik Stervbo
><ulrik.stervbo at gmail.com>
>> >>>> wrote:
>> >>>>
>> >>>> If you want the total number of rows in the original data.frame
>after
>> >>>> counting the rows in each group, you can ungroup and sum the row
>
>counts,
>> >>>> like:
>> >>>>
>> >>>> library("dplyr")
>> >>>>
>> >>>>
>> >>>> mtcars %>%
>> >>>> group_by (am, gear) %>%
>> >>>> summarise (n=n()) %>%
>> >>>> mutate(rel.freq = paste0(round(100 * n/sum(n), 0), "%")) %>%
>> >>>> ungroup() %>%
>> >>>> mutate(row.tot = sum(n))
>> >>>>
>> >>>> HTH
>> >>>> Ulrik
>> >>>>
>> >>>> On Mon, 4 Jul 2016 at 18:23 David Winsemius
><dwinsemius at comcast.net>
>> >>>> wrote:
>> >>>>
>> >>>>>
>> >>>>> > On Jul 4, 2016, at 6:56 AM, maicel at infomed.sld.cu wrote:
>> >>>>> >
>> >>>>> > Hello,
>> >>>>> > How can I aggregate row total for all groups in dplyr
>summarise
>?
>> >>>>>
>> >>>>> Row total ? of what? Aggregate ? how? What is the desired
>answer?
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> > library(dplyr)
>> >>>>> > mtcars %>%
>> >>>>> > group_by (am, gear) %>%
>> >>>>> > summarise (n=n()) %>%
>> >>>>> > mutate(rel.freq = paste0(round(100 * n/sum(n), 0), "%"))
>> >>>>> >
>> >>>>> > best regard
>> >>>>> > Maicel Monzon
>> >>>>> >
>> >>>>> >
>> >>>>> >
>> >>>>> >
>----------------------------------------------------------------
>> >>>>> >
>> >>>>> >
>> >>>>> >
>> >>>>> >
>> >>>>> > --
>> >>>>> > Este mensaje le ha llegado mediante el servicio de correo
>electronico
>> >>>>> que ofrece Infomed para respaldar el cumplimiento de las
>misiones
>del
>> >>>>> Sistema Nacional de Salud. La persona que envia este correo
>asume
>el
>> >>>>> compromiso de usar el servicio a tales fines y cumplir con las
>regulaciones
>> >>>>> establecidas
>> >>>>> >
>> >>>>> > Infomed: http://www.sld.cu/
>> >>>>> >
>> >>>>> > ______________________________________________
>> >>>>> > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more,
>
>see
>> >>>>> > 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.
>> >>>>>
>> >>>>> ______________________________________________
>> >>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more,
>see
>> >>>>> 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.
>> >>>>
>> >>>>
>> >>
>> >
>> >
>> >
>> > ----------------------------------------------------------------
>> > This message was sent using IMP, the Internet Messaging Program.
>> >
>> >
>> >
>> > --
>> > Este mensaje le ha llegado mediante el servicio de correo
>electronico
>que ofrece Infomed para respaldar el cumplimiento de las misiones del
>Sistema Nacional de Salud. La persona que envia este correo asume el
>compromiso de usar el servicio a tales fines y cumplir con las
>regulaciones establecidas
>> >
>> > Infomed: http://www.sld.cu/
>> >
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.
>>
>
>______________________________________________
>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>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.
>______________________________________________
>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>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