[R] dplyr help

Jon BR jonsleepy at gmail.com
Thu Jul 30 05:11:51 CEST 2015


Hi Brian,
    Thanks for the suggestion, although the command is throwing an error as
such:

> bevs %>% group_by(name, sex, drink) %>% summarise( cost = sum(cost)) %>%
select(name, drink, cost, sex)
Error: unexpected input in "bevs %>% group_by(name, sex, drink) %>%
summarise( "

Your syntax is new to me so I'm not immediately clear on how to fix it; any
idea how?

Thanks again,
Jonathan


On Wed, Jul 29, 2015 at 11:07 PM, Brian Kreeger <brian.kreeger at gmail.com>
wrote:

> ​dplyr solution:
>
> bevs %>% group_by(name, sex, drink) %>% summarise(​cost = sum(cost)) %>%
> select(name, drink, cost, sex)
>
> The last select statement puts the output in the column order you wanted
> in your result.
>
> I hope this helps.
>
> Brian
>
>
>
> On Wed, Jul 29, 2015 at 9:37 PM, Jon BR <jonsleepy at gmail.com> wrote:
>
>> Hello,
>>     I've recently discovered the helpful dplyr package.  I'm using the
>> 'aggregate' function as such:
>>
>>
>> bevs <- data.frame(cbind(name = c("Bill", "Mary"), drink = c("coffee",
>> "tea", "cocoa", "water"), cost = seq(1:8), sex = c("male","female")));
>> bevs$cost <- seq(1:8)
>>
>> > bevs
>>   name  drink cost    sex
>> 1 Bill coffee    1   male
>> 2 Mary    tea    2 female
>> 3 Bill  cocoa    3   male
>> 4 Mary  water    4 female
>> 5 Bill coffee    5   male
>> 6 Mary    tea    6 female
>> 7 Bill  cocoa    7   male
>> 8 Mary  water    8 female
>> >
>>
>> > aggregate(cost ~ name + drink, data = bevs, sum)
>>   name  drink cost
>> 1 Bill  cocoa   10
>> 2 Bill coffee    6
>> 3 Mary    tea    8
>> 4 Mary  water   12
>>
>> My issue is that I would like to keep a column for 'sex', for which there
>> is a 1:1 mapping with 'name', such that every time 'Bill' appears, it is
>> always 'male'.
>>
>> Does anyone know of a way to accomplish this, with or without dplyr?  The
>> ideal command(s) would produce this:
>>
>>   name  drink cost sex
>> 1 Bill  cocoa   10   male
>> 2 Bill coffee    6   male
>> 3 Mary    tea    8   female
>> 4 Mary  water   12   female
>>
>> I would be thankful for any suggestion!
>>
>> Thanks,
>> Jonathan
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> 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.
>>
>
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list