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
我有一个类似于下面提供的数据集,我正在尝试创建一个包含两列的所有组合的输出数据集。
-
例如,我有以下输入数据集:
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