Replicar cada fila de data.frame y especificar el número de repeticiones para cada fila

df <- data.frame(var1=c('a', 'b', 'c'), var2=c('d', 'e', 'f'), freq=1:3)

¿Cuál es la forma más sencilla de expandir las dos primeras columnas del data.frame anterior, de modo que cada fila aparezca el número de veces especificado en la columna 'freq'?

En otras palabras, pasa de esto:

df
  var1 var2 freq
1    a    d    1
2    b    e    2
3    c    f    3

A esto:

df.expanded
  var1 var2
1    a    d
2    b    e
3    b    e
4    c    f
5    c    f
6    c    f

Respuestas a la pregunta(5)

Su respuesta a la pregunta