Вы делаете числа, код ниже показывает, что вы делаете - и как сделать это матрицей вместо списков:
> x <- as.matrix(expand.grid(c(1,2), c(3,4)))
> x
Var1 Var2
[1,] 1 3
[2,] 2 3
[3,] 1 4
[4,] 2 4
Как видите, компоненты представляют собой числовые списки / векторы:
> str(x)
num [1:4, 1:2] 1 2 1 2 3 3 4 4
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:2] "Var1" "Var2"
> x[,1]
[1] 1 2 1 2