Используйте функцию Hist () в R, чтобы получить проценты, а не сырые частоты - PullRequest
26 голосов
/ 06 сентября 2011

Как можно построить проценты в отличие от необработанных частот, используя функцию hist () в R?

Ответы [ 2 ]

84 голосов
/ 03 февраля 2012

Простое использование аргумента freq=FALSE не дает гистограмму с процентами, она нормализует гистограмму, поэтому общая площадь равна 1.
Чтобы получить гистограмму процентов некоторого набора данных, скажем, x, выполните:

h = hist(x) # or hist(x,plot=FALSE) to avoid the plot of the histogram
h$density = h$counts/sum(h$counts)*100
plot(h,freq=FALSE)

По сути, вы создаете объект гистограммы, меняете свойство плотности на проценты и затем заново строите график.

5 голосов
/ 05 августа 2016

Если вы хотите явно перечислить каждое отдельное значение x на оси x (то есть, чтобы отобразить проценты целочисленной переменной, такой как count), то следующая команда является более удобной альтернативой:

# Make up some data
set.seed(1)
x <- rgeom(100, 0.2)

# One barplot command to get histogram of x
barplot(height = table(factor(x, levels=min(x):max(x)))/length(x),
        ylab = "proportion",
        xlab = "values",
        main = "histogram of x (proportions)")

enter image description here

# Comparison to hist() function
h = hist(x, breaks=(min(x)-1):(max(x))+0.5)
h$density = h$counts/sum(h$counts)*100
plot(h,freq=FALSE, main = "histogram of x (proportions)")

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...