comment créer un histogramme de fréquence avec des intervalles non uniformes prédéfinis?
Nov 28 2020
Comment puis-je créer un histogramme dans RStudio avec la fréquence sur l'axe y et sur les intervalles non uniformes prédéfinis de l'axe x, par exemple: 0-50, 50-150, 150-500, 500-2000.
J'ai des données hypothétiques, car je ne voudrais pas partager mes données 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)
Réponses
1 Muon Nov 29 2020 at 03:12
Définissez les pauses souhaitées avec l' breaks
argument de la hist
fonction.
hist(data, breaks=c(0, 50, 150, 500, 2000), freq=TRUE)

Mettre à jour
Si vous voulez des largeurs de barre égales, vous devez placer vos données dans un format catégorique plutôt que continu. Vous pouvez y parvenir en procédant comme suit.
# 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)
