ant ant - 3 years ago 66
R Question

Collapsing rows by user with dplyr

I want to collapse the rows based on users while placing the '1' on their corresponding columns.

Each row for each user can only have one '1' so there need not be any adding to the rows following.

My df:

User +1 +2 +3 +4 +5
A 1 0 0 0 0
A 0 1 0 0 0
A 0 0 0 0 1
B 0 0 1 0 0
B 0 0 0 1 0


Expected result:

User +1 +2 +3 +4 +5
A 1 1 0 0 1
B 0 0 1 1 0


Any help would be appreciated.

Answer Source

Looks like you can use summarise_each:

df %>% group_by(User) %>% summarise_each(funs(sum))
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download