X~N(mu,3 * sigma ^ 2)
Y~N(mu,sigma ^ 2)
我试图以图形方式证明P [| X-mu | < sigma]< P [| Y-mu | < sigma](即蓝色曲线下面积小于0和sigma之间红色曲线下面积)
我创建了| X-mu |的pdf和| Y-mu |使用以下代码,我让mu = 0和sigma = 1:
x<-seq(-10,10,length=10000000)
y1<-rnorm(x,mean=0,sd=sqrt(3))
y2<-rnorm(x,mean=0,sd=1)
absy1<-abs(y1-mean(y1))
absy2<-abs(y2-mean(y2))
plot(density(absy2), type="l", axes=FALSE, xlab = "", ylab = "", main="", col="red")
lines(density(absy1), col="blue")
abline(v=1,lty=2,col="black")
text(3.5,0.18,expression(abs(N(mu,3 * sigma^2)-mu)), col="blue")
text(1.5,0.48,expression(abs(N(mu,sigma^2)-mu)), col="red")
axis(1,at=0,labels=0, line=-1)
axis(1,at=1,labels=expression(sigma), line=-1)
以下是我正在尝试使用的上述代码生成的图像的链接:
我想在0到sigma之间的每条曲线下阴影区域。
为了遮蔽其他正态分布曲线,我一直在使用类似下面这一行的东西,但我不能用它来解决这个问题(或者我不知道如何)。
polygon(c(0,xred,10),c(0,yred,0),col="mistyrose", border=NA)
非常感谢您的帮助!此外,如果有更好的方法绘制曲线,请指教! (这是我第二天学习R,所以请尽量清楚!)谢谢。
解决方案 - 感谢@DWin
x<-seq(-10,10,length=10000000)
y1<-rnorm(x,mean=0,sd=sqrt(3))
y2<-rnorm(x,mean=0,sd=1)
absy1<-abs(y1-mean(y1))
absy2<-abs(y2-mean(y2))
plot(den2 <-density(absy2), type="l", axes=FALSE, xlab = "", ylab = "", main="", col="red")
with(den2, polygon(x=c(0, x[x < 1], rev(x[x<1]), 0), y=c(0, 0*x[x < 1], rev(y[x<1]), 0), col="mistyrose", border=NA))
lines(den1 <-density(absy1), col="blue")
with(den1, polygon(x=c(0, x[x < 1], rev(x[x<1]), 0), y=c(0, 0*x[x < 1], rev(y[x<1]), 0), col="aliceblue", border=NA))
abline(v=1,lty=2,col="black")
text(3.5,0.18,expression(abs(N(mu,3 * sigma^2)-mu)), col="blue")
text(1.75,0.48,expression(abs(N(mu,sigma^2)-mu)), col="red")
axis(1,at=0,labels=0, line=-1)
axis(1,at=1,labels=expression(sigma), line=-1)
答案 0 :(得分:1)
密度函数产生绘制图形的副作用,但它也返回一个名为“x”和“y”组件的列表,因此您需要将其保存为命名对象(我将其命名为“den1”)并使用这些组件。由于密度图中有一些“slop”,您可能需要查看'logspline'包,ISTR具有接受约束的密度函数。
所以这样做是作为你的初始策划策略::
plot(den2 <-density(absy2), type="l", axes=FALSE, xlab = "", ylab = "", main="", col="red")
lines(den1 <-density(absy1), col="blue")
然后添加彩色多边形(在这种情况下'sigma'为1):
with( den1, polygon(x=c(0, x[x < 1], rev(x[x<1]), 0),
y=c(0, 0*x[x < 1], rev(y[x<1]), 0), col="red") )
分解成4个组件,你用一个起点[0,0]概述区域,然后沿着x轴绘制到[sigma,0],然后绘制一条垂直线到[sigma,density(sigma)],然后沿着密度曲线向后移动并向后关闭[0,0]。