¿Existe una función para generar una combinación específica n Multichoose r, dado el número de índice?

Por ejemplo, 3 multichoose 2 tiene las siguientes combinaciones:

i   combo
0 = [0,0]
1 = [0,1]
2 = [0,2]
3 = [1,1]
4 = [1,2]
5 = [2,2]

Podría escribirse una función cuyos argumentos sean n, r, i y devuelva la combinación en cuestión, sin iterar a través de cada combinación anterior?