如何在R中创建2个数据集的组合

Ano*_*non 4 combinations r

如何使用两个数据集中的每种可能组合创建数据集?

例如,将有2个数据集记住特定列:

ds1 = letters[1:4]
ds2 = letters[5:8]
Run Code Online (Sandbox Code Playgroud)

如果这会影响任何事情,也会有与每个字母相关的值(尽管我认为不应该这样做)

ds1 = data.frame(a=letters[1:4],b=1:4)
ds2 = data.frame(a=letters[5:8],b=5:8)
Run Code Online (Sandbox Code Playgroud)

在最后的数据集,我想为了有的每个组合ds1ds2(如AE,AF,AG等)

起初我想过使用merge,所以我尝试这样做,但它没有用.我认为for循环可能是答案,但我不确定如何开始.

建议?谢谢!

Cha*_*ase 8

也许你想要expand.grid()expand.grid()从所提供的矢量或因子的所有组合创建数据帧.letters()包含字母表中的26个小写字母,因此我们可以将前4个(A - D)和后4个(E - H)索引传入expand.grid()

> expand.grid(letters[1:4], letters[5:8])
   Var1 Var2
1     a    e
2     b    e
3     c    e
4     d    e
5     a    f
6     b    f
7     c    f
8     d    f
9     a    g
10    b    g
11    c    g
12    d    g
13    a    h
14    b    h
15    c    h
16    d    h
Run Code Online (Sandbox Code Playgroud)


Hon*_*Ooi 6

您似乎需要ds1和ds2的笛卡尔积.为此,请使用merge(ds1, ds2, by=NULL).