2017-01-25 67 views
0

這可能是一個重複,但我真的沒有找到相同的任何具體職務。骨料類似名稱的列,並創建一個新的數據幀

我有兩個數據幀「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 

請注意,相似列名稱的列索引不相同。

我要創建新的數據幀「KL」,我想總值按「用戶」爲每個列名即

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'的輸出,所以我們可以真正輕鬆地創建他們?否則,我們不得不從你的文本中做出來。也是你的「聚合」是平均值,是嗎? – Spacedman

+0

我完全同意@Tensibai – ROY

回答

3

您可以嘗試aggregate,2 rbind -ed data.frames,先做列的重新排序,以便它們在兩個data.frame S也是一樣的順序:

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

相關問題