Risposte:
In R, puoi farlo usando il 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)
Questo dà il seguente risultato:
> 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
Per i dettagli, consultare il file della guida per il rep
comando digitando ?rep
.
Ovviamente in R è più semplice.
In Excel userei una colonna helper (se il valore è in 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)
In C7 hai il tuo risultato
vec <- sample(1:5, 20, TRUE)
creato datable()
:rep(names(table(vec)), table(vec))
. Il risultato deve quindi essere convertito conas.numeric()
se le categorie sono numeri effettivi.