Я пытаюсь создать уникальную комбинацию всех элементов из двух векторов разного размера в 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),];