0

我试图用正态曲线绘制实验数据(用于比较)。我可以很好地绘制其中一条曲线,但无法正确绘制正常曲线,我只能看到一条沿着屏幕向下延伸的线。我对 dcauchy 得到了相同的结果。唯一正确绘制的曲线是“pdf_cauchy”变量。

这就是我想要做的:

plot(pdf_cauchy, type = "l", col = "red", lwd = 4)
curve(dnorm(x, 0, 1), add = T, col = "blue", lwd = 4)
x <- seq(-5, 5, by = .001)
lines(dcauchy(x, 0, 1, FALSE), type = "l", col = "green", lwd = 4)

这是“pdf_cauchy”中的数据

c(0.00127277, 0.00132412, 0.0013786, 0.00143646, 0.00149797, 
0.00156345, 0.00163324, 0.00170772, 0.00178731, 0.00187247, 0.00196372, 
0.00206165, 0.00216691, 0.00228022, 0.00240241, 0.00253439, 0.0026772, 
0.00283202, 0.00300018, 0.00318319, 0.00338278, 0.0036009, 0.0038398, 
0.00410205, 0.00439061, 0.00470887, 0.00506072, 0.00545067, 0.00588391, 
0.00636639, 0.00690497, 0.00750753, 0.00818301, 0.00894155, 0.00979444, 
0.010754, 0.0118334, 0.0130459, 0.0144036, 0.015916, 0.0175867, 
0.0194097, 0.0213637, 0.0234058, 0.0254655, 0.0274413, 0.0292036, 
0.0306076, 0.0315168, 0.0318319, 0.0315168, 0.0306076, 0.0292036, 
0.0274413, 0.0254655, 0.0234058, 0.0213637, 0.0194097, 0.0175867, 
0.015916, 0.0144036, 0.0130459, 0.0118334, 0.010754, 0.00979444, 
0.00894155, 0.00818301, 0.00750753, 0.00690497, 0.00636639, 0.00588391, 
0.00545067, 0.00506072, 0.00470887, 0.00439061, 0.00410205, 0.0038398, 
0.0036009, 0.00338278, 0.00318319, 0.00300018, 0.00283202, 0.0026772, 
0.00253439, 0.00240241, 0.00228022, 0.00216691, 0.00206165, 0.00196372, 
0.00187247, 0.00178731, 0.00170772, 0.00163324, 0.00156345, 0.00149797, 
0.00143646, 0.0013786, 0.00132412, 0.0012
4

2 回答 2

3

考虑一下这些图中的 x 轴是什么。您的初始绘图没有给出 x 轴,因此仅使用 1:100 来表示 100 个柯西值。现在你添加一条从 0 开始到 100 的正态曲线,平均值为 0。你只会得到曲线的右半部分和极值。平均值为 50,sd 为 25,你会得到更合理的结果,你也可以用 dcauchy 做类似的事情。

您可能确实需要在初始图中放置一些 x 值,但我不知道它们会是什么。您是否希望展示位置的峰值为 0?... 其他值?只有您知道 x 轴的位置和范围应该是什么。

于 2012-11-14T04:23:58.210 回答
0

这是一个很好的绘图方法:

plot(x, dcauchy(x, 0, 1, FALSE), type = "l", col = "red", lwd = 4)
par(new = TRUE)
plot(x, pdf_cauchy, type = "l", col = "blue", lwd = 2)
par(new = TRUE)
plot(x, dnorm(x, 0, 1), type = "l", col = "green", lwd = 3)
于 2012-11-14T13:40:48.030 回答