Как можно построить процентное соотношение в отличие от необработанных частот, используя функцию hist() в R?
Используйте функцию hist() в R, чтобы получить проценты в отличие от необработанных частот
Ответ 1
Просто использование аргумента 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)
В основном то, что вы делаете, это создание объекта гистограммы, изменение значения плотности в процентах, а затем повторное построение.
Ответ 2
Если вы хотите явно перечислить каждое значение 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)")
# 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)")