R вопрос о правильном построении гистограммы вероятности / плотности - PullRequest
0 голосов
/ 14 мая 2011

У меня есть следующая матрица [500,2], поэтому у нас есть 500 строк и 2 столбца, левый дает нам индекс X наблюдений, а правый дает вероятность, с которой этот X сбудется, поэтому -типичное соотношение плотности вероятности.

Итак, мой вопрос, как правильно построить гистограмму, чтобы ось х была индексом х, а ось у - плотностью (0,01-1.00).Пропускная способность оценки составляет 0,33.

Заранее спасибо!

конец всех данных выглядит так: только для небольшой ориентации

[490,]  2.338260830 0.04858685
[491,]  2.347839477 0.04797310
[492,]  2.357418125 0.04736149
[493,]  2.366996772 0.04675206
[494,]  2.376575419 0.04614482
[495,]  2.386154067 0.04553980
[496,]  2.395732714 0.04493702
[497,]  2.405311361 0.04433653
[498,]  2.414890008 0.04373835
[499,]  2.424468656 0.04314252
[500,]  2.434047303 0.04254907

@ каждыйда, я сделал оценку раньше, так что ... полоса - это то, что я упомянул, данные упорядочены от низких к высоким значениям, поэтому вероятность в начале равна 0,22, в пике около 0,48,в конце 0,15.

Линия с плотностью изображена как шарм, но я должен сделать это дополнительно, чтобы построить гистограмму!Итак, как я могу это сделать, правильно упорядочив блоки (как данные должны быть разбиты на блоки и т. Д.)

Есть предложения?

Вот часть данных ПОСЛЕ оценкивсе значения являются дискретными, поэтому я предполагаю, что гистограмма может быть создана .., надеюсь.

[491,] 4.956164 0.2618131
[492,] 4.963014 0.2608723
[493,] 4.969863 0.2599309
[494,] 4.976712 0.2589889
[495,] 4.983562 0.2580464
[496,] 4.990411 0.2571034
[497,] 4.997260 0.2561599
[498,] 5.004110 0.2552159
[499,] 5.010959 0.2542716
[500,] 5.017808 0.2533268
[501,] 5.024658 0.2523817

С уважением, оцените быстрые ответы! (поклон)

Что сделает эту работусоздать гистограмму только для индексов, сгруппировав их, например, по x25 / x50 каждый ... и вычислить среднюю вероятность для каждых 25 или 50/100/150/200/250 и т. д. в виде блоков ..?

Ответы [ 2 ]

1 голос
/ 14 мая 2011

Предполагая, что строки располагаются в порядке от наименьшего к наибольшему значению x, поскольку они кажутся, вы можете использовать команду печати по умолчанию, единственное, что вам нужно, это тип:

plot(your.data, type = 'l')

РЕДАКТИРОВАТЬ:

Хорошо, я не уверен, что это лучше, чем график плотности, но это можно сделать:

x = dnorm(seq(-1, 1, length = 500))
x.bins = rep(1:50, each = 10)
bars = aggregate(x, by = list(x.bins), FUN = sum)[,2]
barplot(bars)

В вашем случае замените x вероятностями из второго столбцавашей матрицы.

EDIT2:

Если подумать, это имеет смысл, только если ваши 500 строк представляют дискретные события.Если они являются точками вдоль функции непрерывного распределения, то сложение их вместе, как я сделал, неверно.Математически я не думаю, что вы можете получить бин-вероятность для диапазона, используя только несколько точек из этого диапазона.

0 голосов
/ 14 мая 2011

Предполагая, что М - это матрица.не будет ли это просто:

plot(x=M[ , 1], y = M[ , 2] )

Вы уже провели оценку плотности, поскольку это не исходные данные.

...