Combinações por grupo em R

Eu tenho uma pergunta sobre combinações por grupo.

Minha mini amostra é assim:

sample <- data.frame(
  group=c("a","a","a","a","b","b","b"),
  number=c(1,2,3,2,4,5,3)
)

Se eu aplicar a função decombnpara o quadro de dados, ele me dá o seguinte resultado, que é todas as combinações dos valores na coluna 'número', independentemente de qual grupo o valor pertence:

         [,1] [,2]
   [1,]    1    2
   [2,]    1    3
   [3,]    1    2
   [4,]    1    4
   [5,]    1    5
   [6,]    1    3
   [7,]    2    3
   [8,]    2    2
   [9,]    2    4
  [10,]    2    5
  [11,]    2    3
  [12,]    3    2
  [13,]    3    4
  [14,]    3    5
  [15,]    3    3
  [16,]    2    4
  [17,]    2    5
  [18,]    2    3
  [19,]    4    5
  [20,]    4    3
  [21,]    5    3

O código que eu usei para os resultados acima é o seguinte:

t(combn((sample$number), 2))

No entanto, gostaria de obter os resultados da combinação dentro do grupo (ou seja, "a", "b"). Portanto, o resultado que eu quero obter deve ficar assim:

     [,1] [,2] [,3]
[1,]   a    1    2
[2,]   a    1    3
[3,]   a    1    2
[4,]   a    2    3
[5,]   a    2    2
[6,]   a    3    2
[7,]   b    4    5
[8,]   b    4    3
[9,]   b    5    3

Além das combinações, gostaria de obter a coluna indicando o grupo.

questionAnswers(2)

yourAnswerToTheQuestion