#r #probability #histogram
#r #вероятность #гистограмма
Вопрос:
Привет, я использую R для анализа данных из выходных данных моего моделирования. Я использую функцию hist для генерации PDF-файлов. точная команда, которую я даю, такова
hist(data_delay$delay,freq=F)
В моем понимании значения по оси y диаграммы должны быть меньше 1, все значения по оси Y должны составлять 1. Но, к сожалению, я не получаю случайный диапазон по оси Y, иногда значения в 1000.
Я прилагаю свой пример входного файла. В этом случае значения по оси Y находятся в диапазоне от 0 до 100.
Спасибо за всю помощь, которую вы можете предоставить.
Мои данные следующие http://www.mediafire.com/?twyoseg8bai0dr7
Ответ №1:
Согласно hist
документации, когда freq=FALSE
«гистограмма имеет общую площадь, равную единице». В нем не говорится, что высота каждого столбца должна быть меньше единицы. Гистограмма, созданная с помощью вашей команды и данных, имеет общую площадь 1.
> data_delay <- read.csv("PATH_TO_DATA_FILE")
> h <- hist(data_delay$delay, plot=F)
> h
$breaks
[1] 0.000 0.005 0.010 0.015 0.020 0.025 0.030 0.035 0.040 0.045 0.050 0.055
[13] 0.060 0.065 0.070
[SNIP]
$density
[1] 112.47892074 13.36706015 3.91231029 5.98088814 10.35413153
[6] 11.21978640 11.80438449 6.55424396 14.14277684 2.63069140
[11] 5.53119730 1.31534570 0.69702080 0.01124227
[SNIP]
Разрывы расположены на равном расстоянии 0,005 друг от друга, поэтому мы можем увидеть общую площадь на гистограмме, выполнив следующее.
> sum(h$density * 0.005)
[1] 1
Ответ №2:
Вы можете предпочесть ?density
как в foo<-density(rnorm(1000)) ; plot(foo)
Комментарии:
1. это может быть лучше, но это не решит проблему OP (которая основана на путанице между подсчетами и плотностями)