jak stworzyć histogram częstotliwości z predefiniowanymi nierównomiernymi interwałami?

Nov 28 2020

Jak mogę zrobić histogram w RStudio z częstotliwością na osi y i na osi x z predefiniowanymi nierównomiernymi interwałami, na przykład: 0-50, 50-150, 150-500, 500-2000.

Mam hipotetyczne dane, ponieważ nie chciałbym udostępniać moich oryginalnych danych.

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)

Odpowiedzi

1 Muon Nov 29 2020 at 03:12

Ustaw żądane podziały za pomocą breaksargumentu w histfunkcji.

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

Aktualizacja

Jeśli chcesz mieć równe szerokości pasków, musisz umieścić dane w formacie kategorycznym, a nie ciągłym. Możesz to osiągnąć, wykonując następujące czynności.

# 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)