如何按列组合数据框?

问题描述:

我有两个dataframes和他们看起来像:如何按列组合数据框?

df <- data.frame(
    A = c(19, 79, 34), 
    B = c(21, 21, 14), 
    C = c(17, 14, 57) 
) 
row.names(df) <- c("2016-10-31", "2016-09-30", "2016-08-31") 
df 
      A B C 
2016-10-31 19 21 17 
2016-09-30 79 21 14 
2016-08-31 34 14 57 

df2 <- data.frame(
    A_Return = c(0.1, 0.9, 0.4), 
    B_Return = c(0.1, 0.2, 0.4), 
    C_Return = c(0.7, 0.4, 0.7) 
) 
row.names(df2) <- c("2016-10-31", "2016-09-30", "2016-08-31") 
df2 
      A_Return B_Return C_Return 
2016-10-31  0.1  0.1  0.7 
2016-09-30  0.9  0.2  0.4 
2016-08-31  0.4  0.4  0.7 

的dataframes具有相同的行名字,我知道cbindmerge可以一起将它们合并。但我想按以下顺序列:

  A A_Return B B_Return C C_Return 
2016-10-31 19  0.1 21  0.1 17  0.7 
2016-09-30 79  0.9 21  0.2 14  0.4 
2016-08-31 34  0.4 14  0.4 57  0.7 

我们可以在merge通过row.names

dfN <- merge(df, df2, by = "row.names") 
row.names(dfN) <- dfN$Row.names 
dfN1 <- dfN[-1][order(colnames(dfN)[-1])] 
+0

这只会合并两个dataframes做。我正在寻找的是''A'和'B_Return'旁边的'A'返回''等' –

+0

@ T-T更新后 – akrun