在R中组合两个表

时间:2018-04-07 06:37:01

标签: r

我有2个表,需要使用R将它们组合起来,如下所示: -

Table 1

id
A
B
C
D

Table 2

group class
1     X
2     Y

我需要一个这样的组合表: -

id group class
A  1     X
B  1     X
C  1     X
D  1     X
A  2     Y
B  2     Y
C  2     Y
D  2     Y

我通过在表中创建虚拟列来尝试了许多类型的合并(如内部,左侧,完全连接等),但无法获得所需的输出。任何帮助都会有很大的帮助

1 个答案:

答案 0 :(得分:3)

您正在寻找两个表之间的交叉连接:

t1 <- data.frame(id=c("A", "B", "C", "D"))
t2 <- data.frame(group=c(1, 2), class=c("X", "Y"))

merge(t1, t2, all=TRUE)

   id group class
1  A     1     X
2  B     1     X
3  C     1     X
4  D     1     X
5  A     2     Y
6  B     2     Y
7  C     2     Y
8  D     2     Y

Demo