2017-02-09 2 views
1

У меня есть два 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 имеют одинаковые названия строк, и я знаю, cbind или merge их можно объединить. Но я хочу, чтобы столбцы в следующем порядке:

  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 

ответ

1

Мы можем сделать 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_Return' рядом с' A' и 'B_Return' рядом с' b' и т. Д. –

+0

@ T-T Обновлено сообщение – akrun

Смежные вопросы