11

次のデータフレーム (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

最初の列を折りたたんで、対応する PSM 値を追加し、次の出力を得たいと考えています。

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

集計関数で実行できるようですが、構文がわかりません。どんな助けでも本当に感謝しています! ありがとう。

4

5 に答える 5

5

plyr の次の反復である dplyr を使用した例:

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

文字を入れる%>%と「パイピング」です。これは、そのパイプ演算子の左側にあるものを入力し、右側で機能を実行していることを意味します。

于 2016-04-09T14:51:34.710 に答える
2

plyrこれは、パッケージを使用して非常に簡単です。

library(plyr)
ddply(df1, .(ID), summarize, Sum=sum(PSM))
于 2013-05-27T17:34:44.723 に答える