簡體   English   中英

根據r中的列名合並數據框

[英]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 個數據框命名為df1df2df3df4 ,因為列數和列名相同,那么為什么不這樣:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM