我正在尝试在R中创建来自两个不同大小向量的所有元素的唯一组合。
例如,第一个向量是
a <- c("ABC", "DEF", "GHI")
第二种类型是目前以字符串形式存储的日期数据
b <- c("2012-05-01", "2012-05-02", "2012-05-03", "2012-05-04", "2012-05-05")
我需要创建一个像这样的具有两列的数据框:
> data
a b
1 ABC 2012-05-01
2 ABC 2012-05-02
3 ABC 2012-05-03
4 ABC 2012-05-04
5 ABC 2012-05-05
6 DEF 2012-05-01
7 DEF 2012-05-02
8 DEF 2012-05-03
9 DEF 2012-05-04
10 DEF 2012-05-05
11 GHI 2012-05-01
12 GHI 2012-05-02
13 GHI 2012-05-03
14 GHI 2012-05-04
15 GHI 2012-05-05
基本上,我想通过将一个向量(a)的所有元素与第二个向量(b)的所有元素并置来寻找唯一的组合。
理想的解决方案可以推广到更多输入向量。
另请参阅:
如何生成组合矩阵
plyr
就可以进行排序:result <- expand.grid(a=a,b=b); result <- result[order(result$a,result$b),];
- thelatemailexpand.grid(b=b,a=a)[2:1]
- GKi