Как я могу выразить плотность в процентах в R? - PullRequest
3 голосов
/ 25 января 2012

Когда я запускаю гистограмму плотности в R, вертикальная ось показывает плотности в виде дробей. Попробуйте это, например: hist(rnorm(100), freq = FALSE)

Посмотрите, как на вертикальной оси отображаются «0,0», «0,1», «0,2» и т. Д. Как настроить отображение «0%», «1%», «2%»?

Ответы [ 2 ]

3 голосов
/ 25 января 2012

Как то так?

x <- rnorm(100)
par(mfrow = c(1, 2))
hist(x, freq = FALSE, axes = FALSE)
axis(2, at = seq(0, 0.4, 0.1), labels = paste(0:4, "%", sep = ""))
hist(x, freq = FALSE)

enter image description here

1 голос
/ 25 января 2012

Не наносите вертикальную ось на hist.Добавьте его самостоятельно через axis.

h <- hist(rnorm(100))
plot(h, freq=FALSE, yaxt="n")
axis(2, pretty(h$density), sprintf("%0.0f%%", pretty(h$density)*100))

Однако это действительно вводит в заблуждение, потому что плотности не такие, как проценты или пропорции чего-либо.Если бы вы делали что-то вроде

hist(rnorm(100, s=0.1))

Вы получаете такое же распределение, но теперь все ваши плотности в 10 раз больше по величине, потому что масштаб распределения в 10 раз меньше.

Было бы более целесообразно построить совокупный частотный полигон или гистограмму *1011* с процентами по оси Y.

...