Encuentre cuáles observaciones se encuentran en cada “barra” del histograma.
Estoy trabajando con el lenguaje de programación R. Supongamos que tengo los siguientes datos:
a = rnorm(1000,10,1)
b = rnorm(200,3,1)
c = rnorm(200,13,1)
d = c(a,b,c)
índice <- 1:1400
mis_datos = data.frame(índice,d)
Puedo hacer los siguientes histogramas de los mismos datos ajustando la longitud de la “barra” (a través de la opción “breaks”):
hist(mis_datos, breaks = 10, main = “Histograma #1, Barras = 10”)
hist(mis_datos, breaks = 100, main = “Histograma #2, Barras = 100”)
hist(mis_datos, breaks = 5, main = “Histograma #3, Barras = 5”)
Mi pregunta es: en cada uno de estos histogramas hay un número diferente de “barras” (es decir, barras). Por ejemplo, en el primer histograma hay 8 barras y en el tercer histograma hay 4 barras. ¿Hay alguna manera de averiguar qué observaciones (del archivo original “d”) se encuentran en cada barra en cada uno de estos histogramas?
Actualmente, estoy intentando hacer esto manualmente, por ejemplo (para el tercer histograma):
histograma3_bar1 <- mis_datos[which(mis_datos$d < 5 & mis_datos$d > 0), ]
histograma3_bar2 <- mis_datos[which(mis_datos$d < 10 & mis_datos$d > 5), ]
histograma3_bar3 <- mis_datos[which(mis_datos$d < 15 & mis_datos$d > 10), ]
histograma3_bar4 <- mis_datos[which(mis_datos$d < 20 & mis_datos$d > 15), ]
head(histograma3_bar1)
índice d
1001 1001 4.156393
1002 1002 3.358958
1003 1003 1.605904
1004 1004 3.603535
1006 1006 2.943456
1007 1007 1.586542
¿Hay alguna manera más “eficiente” de hacer esto?
¡Gracias!
davy.ai
Sí, hay una manera más eficiente de hacer esto. Una forma es usar la función
cut()
en R para crear una variable de factor que indique a qué bin pertenece cada observación. Luego puedes usar la funciónsplit()
para dividir el marco de datos por esta variable de factor y extraer cada subconjunto correspondiente a cada bin. Aquí hay un ejemplo usando el histograma #3:Esto debería darte el mismo resultado que tu enfoque manual, pero será mucho más eficiente y escalable para conjuntos de datos más grandes e histogramas con más bins.