我的数据集如下:
df1<-t(data.frame(1,2,3))
df2<-t(data.frame(4,5,6))
colnames(df1)<-c('A')
colnames(df2)<-c('B')
> df1
A
X1 1
X2 2
X3 3
> df2
B
X4 4
X5 5
X6 6
如何将df1中的每一行合并到df2中,以便获得类似这样的内容:
A B
1 4
1 5
1 6
2 4
2 5
2 6
3 4
3 5
3 6
谢谢!
答案 0 :(得分:4)
您可以使用expand.grid
:
expand.grid(A = df1, B = df2)
A B
1 1 4
2 2 4
3 3 4
4 1 5
5 2 5
6 3 5
7 1 6
8 2 6
9 3 6
答案 1 :(得分:1)
这个问题可能是重复的。这是三种类似的解决方案:
merge(df1, df2)
expand.grid(A = df1, B = df2)
tidyr::crossing(A = df1, B = df2)