Проблемы с генерацией функции распределения вероятностей (PDF) в R

#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 (которая основана на путанице между подсчетами и плотностями)