Lets say I have three variables:
var1<-c(101,102,103,104)
var2<-c("AB","XY")
var3<-c(1,2)
X<-expand.grid(var1,var2,var3)
X
Above code gives this output
Var1 Var2 Var3
1 101 AB 1
2 102 AB 1
3 103 AB 1
4 104 AB 1
5 101 XY 1
6 102 XY 1
7 103 XY 1
8 104 XY 1
9 101 AB 2
10 102 AB 2
11 103 AB 2
12 104 AB 2
13 101 XY 2
14 102 XY 2
15 103 XY 2
16 104 XY 2
What I need is the series below in which for each row value in var1 we have corresponding values in var2 and var3.
Var1 Var2 Var3
1 101 AB 1
2 101 XY 2
3 102 AB 1
4 102 XY 2
5 103 AB 1
6 103 XY 2
7 104 AB 1
8 104 XY 2
If you are already using the tidyr
package, you can use the crossing
function. For example
tidyr::crossing(var1, tibble::tibble(var2, var3))
# var1 var2 var3
# <dbl> <chr> <dbl>
# 1 101 AB 1
# 2 101 XY 2
# 3 102 AB 1
# 4 102 XY 2
# 5 103 AB 1
# 6 103 XY 2
# 7 104 AB 1
# 8 104 XY 2