¿Cómo crear un histograma de frecuencia con intervalos no uniformes predefinidos?

Nov 28 2020

¿Cómo puedo hacer un histograma en RStudio con la frecuencia en el eje y y en los intervalos no uniformes predefinidos del eje x, por ejemplo: 0-50, 50-150, 150-500, 500-2000?

Tengo datos hipotéticos, ya que no me gustaría compartir mis datos originales.

data <- c(1,1.2,40,1000,36.66,400.55,100,99,2,1500,333.45,25,125.66,141,5,87,123.2,61,93,85,40,205,208.9)

Respuestas

1 Muon Nov 29 2020 at 03:12

Establezca los descansos que desee con el breaksargumento en la histfunción.

hist(data, breaks=c(0, 50, 150, 500, 2000), freq=TRUE)

Actualizar

Si desea anchos de barra uniformes, debe poner sus datos en un formato categórico en lugar de continuo. Puede lograr esto haciendo lo siguiente.

# Cut your data into categories using your breaks
data <- cut(data, 
            breaks=c(0, 50, 150, 500, 2000),
            labels=c('0-50', '50-150', '150-500', '500-2000'))
# Make a data table (i.e. a frequency count)
data <- table(data)
# Plot with `barplot`
barplot(data)