R-Collapse rows and summarize values โ€‹โ€‹in a column

I have the following dataframe (df1):

ID someText PSM OtherValues ABC c 2 qwe CCC v 3 wer DDD b 56 ert EEE m 78 yu FFF sw 1 io GGG e 90 gv CCC r 34 scf CCC t 21 fvb KOO y 45 hffd EEE u 2 asd LLL i 4 dlm ZZZ i 8 zzas 

I would like to collapse the first column and add the corresponding PSM values โ€‹โ€‹and I would like to get the following output:

 ID Sum PSM ABC 2 CCC 58 DDD 56 EEE 80 FFF 1 GGG 90 KOO 45 LLL 4 ZZZ 8 

Seems done with an aggregate function, but don't know the syntax. Any help really appreciated! Thanks.

+7
source share
3 answers

In the database:

 aggregate(PSM ~ ID, data=x, FUN=sum) ## ID PSM ## 1 ABC 2 ## 2 CCC 58 ## 3 DDD 56 ## 4 EEE 80 ## 5 FFF 1 ## 6 GGG 90 ## 7 KOO 45 ## 8 LLL 4 ## 9 ZZZ 8 
+16
source

It is very simple using the plyr package:

 library(plyr) ddply(df1, .(ID), summarize, Sum=sum(PSM)) 
+2
source

An example of using dplyr, the following iteration of plyr:

 df2 <- df1 %>% group_by(ID) %>% summarize(Sum_PSM = sum(PSM)) 

When you put %>% , you are a "pipe". This means that you enter what is on the left side of this pipe operator and perform the function on the right.

+1
source

All Articles