R объединить два стола в шахматном (пересекающемся) виде - PullRequest
0 голосов
/ 03 мая 2018

Я хочу объединить две таблицы A и B в R

А имеет col1 col2

B имеет colI colII

с

cbind()

вы получите

col1 col2 colI colII

Я хочу, чтобы результат был таким:

col1 colI col2 colII

, что будет очень полезно при сравнении.

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Использование функции cbind невозможно. Вам придется создать свою собственную логику для того же.

# create table 1 
t1 <- table(letters[1:2], sample(letters[1:2]))
# create table 2
t2 <- table(letters[3:4], sample(letters[3:4]))
df1 <- data.frame(cbind(t1,t2))
df1[,names(df1)][c("a", "c", "b", "d")]
# Output as below
#  a c b d
#a 1 1 0 0
#b 0 0 1 1
0 голосов
/ 03 мая 2018

Только для двух столбцов в каждом фрейме данных этот подход кажется наиболее простым:

# create 2 dataframes with 2 columns each:
df1 <- data.frame(col1 = c(1, 2, 3), col2 = c(4, 5, 6))
df2 <- data.frame(coli = c(10, 20, 30), colii = c(40, 50, 60))
# bind them together in your order:
df3 <- data.frame(df1$col1, df2$coli, df1$col2, df2$colii)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...