Respuestas:
En R, puedes hacerlo usando el rep
comando:
tab <- data.frame(value=c(1, 2, 3, 4, 5), freq=c(2, 1, 4, 2, 1))
vec <- rep(tab$value, tab$freq)
Esto da el siguiente resultado:
> tab
value freq
1 1 2
2 2 1
3 3 4
4 4 2
5 5 1
> vec
[1] 1 1 2 3 3 3 3 4 4 5
Para obtener detalles, consulte el archivo de ayuda para el rep
comando escribiendo ?rep
.
Obviamente en R es más simple.
En Excel, usaría una columna auxiliar (si el valor está en A1):
value freq help
1 1 2 =REPT(A2 & ", ",B2)
2 2 1 =C1 & REPT(A3 & ", ",B3)
3 3 4 (drag or copy from upper cell)
4 4 2 (drag or copy from upper cell)
5 5 1 (drag or copy from upper cell)
=LEFT(C6, LEN(C6)-1)
En C7 tienes tu resultado
vec <- sample(1:5, 20, TRUE)
creado portable()
:rep(names(table(vec)), table(vec))
. El resultado entonces debe convertirseas.numeric()
si las categorías son números reales.