2017-01-25 9 views
0

これは繰り返しが可能ですが、同じ特定の投稿は実際に見つかりませんでした。2つのデータフレームの同じ名前の列を集約し、新しいデータフレームを作成します

私は2つのデータフレーム "df"と "nm"を持っています。それらは同じ行と列を持ち、列名も同じです。

df 
User Apple Cherry Kiwi Lemon 
A  208  71  129  58 
B  81  69  142  53 
C  164  212 175  200 
D  125  73  51  214 
E  205  123 46  75 
F  53  215  40  38 

nm 
User Lemon Cherry Apple Kiwi 
A  161  57  27  38 
B  26  153  57  45 
C  39  153  219  86 
D  47  155  139  61 
E  143  40  59  130 
F  183  77  71  133 

同様の列名の列インデックスは同じではないことに注意してください。私はあなたがaggregateに試すことができ

kl 
User Apple Cherry Kiwi Lemon 
A  117.5 64  83.5 109.5 
B  69  111 93.5 39.5 
C  191.5 182.5 130.5 119.5 
D  132  114 56  130.5 
E  132  81.5 88  109 
F  62  146 86.5 110.5 
+2

あなたはそれらのデータフレームに 'dput'の出力を提供することができます:彼らは両方のdata.frame s内の同じ順序であるように、第1列の並べ替えをしていますか?さもなければ私達はあなたのテキストからそれらを作ることについて夢中にしなければなりません。また、あなたの "集約"は平均です、はい? – Spacedman

+0

@Tensibaiと完全に合意しました – ROY

答えて

3

つまり、私は、各列名は、「ユーザー」ごとに集計値を配置したい場所を「KL」の新しいデータフレームを作成したい

は、2 rbindは、data.framesを-ed私たちは本当に簡単に作成できるように

aggregate(.~User, data=rbind(df, nm[, match(colnames(df), colnames(nm))]), FUN=mean) 
# User Apple Cherry Kiwi Lemon 
#1 A 117.5 64.0 83.5 109.5 
#2 B 69.0 111.0 93.5 39.5 
#3 C 191.5 182.5 130.5 119.5 
#4 D 132.0 114.0 56.0 130.5 
#5 E 132.0 81.5 88.0 109.0 
#6 F 62.0 146.0 86.5 110.5 
+0

両方のデータフレームで重複値のみを選択するには – ROY

+0

@ROY申し訳ありません – Cath

関連する問題