Соедините два фрейма данных, вставив столбцы одного фрейма данных между столбцами второго фрейма данных. - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть фрейм данных df1, который выглядит следующим образом

A_1 B_1 C_1

a1  e1  i1

b1  f1  l1

c1  g1  m1

d1  h1  n1

У меня есть еще один фрейм данных df2, который выглядит следующим образом

A_2 B_2 C_2

a2  e2  i2

b2  f2  l2

c2  g2  m2

d2  h2  n2

Я хотел бы объединить два dfи получить что-то вроде этого:

A_1  A_2  B_1  B_2  C_1   C_2

a1    a2  e1   e2    i1    i2

b1    b2  f1   f2    l1    l2

c1    c2  g1   g2    m1    m2

d1    d2  h1   h2    n1    n2

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Вы можете cbind их вместе, а затем использовать этот ответ , чтобы выбрать столбцы в нужном вам порядке (чередовать имена столбцов двух фреймов данных).

cbind(df1, df2)[c(rbind(names(df1), names(df2)))]

#   A_1 A_2 B_1 B_2 C_1 C_2
# 1  a1  a2  e1  e2  i1  i2
# 2  b1  b2  f1  f2  l1  l2
# 3  c1  c2  g1  g2  m1  m2
# 4  d1  d2  h1  h2  n1  n2
0 голосов
/ 15 февраля 2019

A dplyr способ:

library(dplyr)

df %>%
  bind_cols(df2) %>%
  select(sort(current_vars()))

Выход:

   A_1 A_2 B_1 B_2 C_1 C_2
1:  a1  a2  e1  e2  i1  i2
2:  b1  b2  f1  f2  l1  l2
3:  c1  c2  g1  g2  m1  m2
4:  d1  d2  h1  h2  n1  n2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...