关于以正确的方式绘制概率/密度直方图的问题

时间:2011-05-13 21:16:55

标签: r plot histogram

我有一个跟随矩阵[500,2],所以我们有500行和2列,左边一个给我们X观察的索引,而右边给出了这个X成真的概率,所以 - 典型的概率密度关系。

所以,我的问题是,如何以正确的方式绘制直方图,使x轴为x-index,y轴为密度(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

@everyone, 是的,我之前做过估计,所以..带宽就是我提到的,数据是从低到高的顺序排序,所以开始时的概率是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 个答案:

答案 0 :(得分:1)

假设行从x的最低值到最高值按顺序排列,你可以使用默认的plot命令,你需要的唯一变化就是类型:

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行代表离散事件才有意义。如果它们是连续分布函数,则将它们加在一起就像我所做的那样是不正确的。在数学上,我认为你不能仅使用该范围内的几个点来产生范围的分组概率。

答案 1 :(得分:0)

假设M是矩阵。这不会是:

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

您已经完成了密度估算,因为这不是原始数据。