2016-10-14 10 views
-7

4つのデータフレームがすべて同じ列数と同じ列名を持ちます。
列の順序が異なります。
4つのデータフレームをまとめて列名と照合したいと思います。rの列名に基づいてデータフレームをマージ

+1

チェックアウト'merge' – holzben

+1

どのデータフレームに希望の順序がありますか?それとも問題じゃないの?試したことがいくつかある再現可能な例が役に立ちます。 btw 'merge'は、キー列がないため、このための適切な関数ではありません。 –

+0

'rbind'を見てください – ytk

答えて

0

Working Azure ML - これは、このマージを自動化するために私が見つけた最良のオプションでした。

df <- maml.mapInputPort(1) 
df2 <- maml.mapInputPort(2) 

if (length(df2.toAdd <- setdiff (names(df), names(df2)))) 
df2[, c(df2.toAdd) := NA] 

if (length(df.toAdd <- setdiff (names(df2), names(df)))) 
df[, c(df.toAdd) := NA] 

df3 <- rbind(df, df2, use.names=TRUE) 


maml.mapOutputPort("df3"); 
0

列数と列名が同一であるので、あなたの4つのデータフレームは、なぜないこの、df1df2df3df4命名されていると仮定します。あなたがしたい場合は

cl <- sort(colnames(df1)) 
mrg <- rbind(df1[,cl], df2[,cl], df3[,cl], df4[,cl]) 

列の特定の順序、たとえば列の順序がdf2である場合は、これを行うことができます。

mrg <- mrg[,colnames(df2)] 
関連する問題