que tienen una trama de datos que tiene un formato como el siguiente:¿Cómo puedo crear un histograma a partir de datos agregados en R?
Month Frequency
2007-08 2
2010-11 5
2011-01 43
2011-02 52
2011-03 31
2011-04 64
2011-05 73
me gustaría crear un histograma de estos datos, el uso de contenedores de X (X probablemente será de alrededor de 15, pero los datos reales tiene más de 200 meses), y el uso de los datos de la columna de frecuencia como la frecuencia de cada contenedor del histograma. ¿Cómo puedo lograr esto?
He intentado dos enfoques hasta ahora, con los comandos hist() y barplot(). El problema con hist() es que no parece darme ninguna forma de especificar que quiero usar la columna de frecuencia en los cálculos de frecuencia para el histograma. El problema con barplot() es que no tengo flexibilidad para elegir X bins, y si hay meses omitidos, entonces el gráfico resultante no es realmente un verdadero histograma porque el eje x no es continuo.
La única idea que tengo ahora es ir con el método barplot(), completar los meses faltantes con un valor de 0 para Frecuencia y usar espacio = 0 para eliminar el espacio entre las barras. El problema con eso es que no es particularmente fácil elegir una cantidad arbitraria de contenedores.
Cuando hice la pregunta, la simplifiqué demasiado porque olvidé mencionar que mis frecuencias realmente abarcaban entre 1 y 50+ millones en lugar del simple ejemplo que di. Estas frecuencias eran demasiado altas para usar 'rep' en los datos brutos en mi máquina (8 GB de RAM). Convertí estas frecuencias a una escala más pequeña (1 a 100,000) que me dio suficiente de un histograma (es decir, una distribución de probabilidad) para mis propósitos. Sin embargo, me gusta su respuesta en general, y hasta ahora es la única solución que he encontrado que me proporciona un histograma "real". ¡Gracias! –
Si sus frecuencias son demasiado altas, simplemente puede reducir el factor de frecuencia de la siguiente manera: expdat <- dat [rep (1: n, times = dat $ f/1000), "x", drop = FALSE] – Marian