如何在R范围内绘制对数刻度密度曲线直到极值?

时间:2013-10-20 16:24:36

标签: r plot

我想以对数刻度绘制一些数据,但R绘制的密度曲线不是从我的第一个极端数据点开始。

以下是一些测试数据和我使用的命令:

d = c(1,1,1,2,4,7,10,20,40,100,200,600,1000,3000,15000,23000)
plot(density(d), log='x', xlim=c(1,23000))

不幸的是,我没有足够的声望点来发布图像,但是如果你输入这两行,它应该会出现一个大约12而不是1(第一个数据点)的图。 有什么想法解决这个问题吗?

感谢大家!

1 个答案:

答案 0 :(得分:3)

如果你看一下

plot(density(d), xlim=c(-100,100), type="b")

你会发现它需要特定的正面和负面价值。 x的负值不会以对数标度显示,最小的正值

> min( density(d)$x[density(d)$x >0] )
[1] 13.72479 

导致你所看到的。你可以用

之类的东西来阻止密度估计值达到0或更低
plot(density(d, from=0.000001), log='x', xlim=c(1,23000))

看起来像这样

enter image description here