13 votos

¿Cómo convertir una tabla de frecuencias en un vector de valores?

Utilizando R o Excel, ¿cuál es la forma más sencilla de convertir una tabla de frecuencias en un vector de valores?

Por ejemplo, ¿cómo convertirías la siguiente tabla de frecuencias

Value   Frequency
  1.      2
  2.      1
  3.      4
  4.      2
  5.      1

en el siguiente vector?

1, 1, 2, 3, 3, 3, 3, 4, 4, 5

22voto

ER17 Puntos 1

En R, puede hacerlo utilizando la función 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 más detalles, consulte el archivo de ayuda de rep escribiendo ?rep .

1voto

Chris Bunch Puntos 25857

Obviamente en R es más sencillo.

En Excel utilizaría una columna de ayuda (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 tiene su resultado

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X