2013-05-27 26 views
7

I olan aşağıdaki dataframe (df1):R azalt satır ve sütun değerlerin toplamı

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 
İlk sütun çökme ve buna tekabül eden PSM değerleri eklemek istiyorum

ve aşağıdaki çıktıyı almak istiyorum:

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

Bu toplama işlevi ile yapılabilir görünüyor ama sözdizimi bilmiyorum. Herhangi bir yardım gerçekten takdir edilmektedir! Teşekkürler.

cevap

16

: plyr ait

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 
2

Bu plyr paketini kullanarak süper kolaydır:

baz olarak
library(plyr) 
ddply(df1, .(ID), summarize, Sum=sum(PSM)) 
1

Örnek dplyr kullanarak, bir sonraki iterasyon: Eğer koymak

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

%>% karakterleri, "boruları". Bu, bu boru operatörünün sol tarafında ne yazdığını ve sağdaki işlevi gerçekleştirdiğiniz anlamına gelir.

İlgili konular