R 脚本 - 导出所有组合

R Script - Derived all combinations

我有一个类似于下面提供的数据集,我正在尝试创建一个包含两列的所有组合的输出数据集。

-

例如,我有以下输入数据集:

Region, Variable, Amount

Asia, Car, 15000

Asia, House, 175000

Asia, Truck, 200000

......

我想获得以下输出数据集:

Region, Variable1, Variable2, Amount1, Amount2

Asia, Car, Car, 15000, 15000

Asia, Car, House, 15000, 175000

Asia, Car, Truck, 175000, 200000

Asia, House, Car, 175000, 15000

......

经过初步研究,我发现库(plyr) 或expand.grid 可能有帮助,但我似乎无法弄清楚如何实现它。我非常感谢任何帮助!

您可以使用merge

input <- read.table(text = "Region Variable Amount
                    Asia Car 15000
                    Asia House 175000
                    Asia Truck 200000", header = T, stringsAsFactors = F)

merge(input, input, by = "Region", suffixes = c(".1", ".2"))

  Region Variable.1 Amount.1 Variable.2 Amount.2
1   Asia        Car    15000        Car    15000
2   Asia        Car    15000      House   175000
3   Asia        Car    15000      Truck   200000
4   Asia      House   175000        Car    15000
5   Asia      House   175000      House   175000
6   Asia      House   175000      Truck   200000
7   Asia      Truck   200000        Car    15000
8   Asia      Truck   200000      House   175000
9   Asia      Truck   200000      Truck   200000