[英]Merge data frame based on column names in r
我有 4 個數據框,它們都具有相同的列數和相同的列名。
列的順序不同。
我想將所有 4 個數據框組合在一起並將它們與列名匹配。
使用 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");
假設您的 4 個數據框命名為df1
、 df2
、 df3
和df4
,因為列數和列名相同,那么為什么不這樣:
cl <- sort(colnames(df1))
mrg <- rbind(df1[,cl], df2[,cl], df3[,cl], df4[,cl])
如果您想讓它們按特定的列順序排列,例如df2
的列順序,那么您可以這樣做:
mrg <- mrg[,colnames(df2)]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.