2

X〜N(mu、3 * sigma ^ 2)

Y〜N(mu、sigma ^ 2)

P [| X-mu | <シグマ]<P[| Y-mu | <シグマ](つまり、青い曲線の下の領域は、0とシグマの間の赤い曲線の下の領域よりも小さい)

|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)

これが私が使おうとしている上記のコードによって生成された画像へのリンクです:

https://lh3.googleusercontent.com/-wYtqZpKfkQs/UFXzvAdB1WI/AAAAAAAAACU/W9bXfk-ghew/s371-pk/HW2problem2graph-iv.jpg

0とシグマの間の各曲線の下の領域をシェーディングしたいと思います。

他の正規分布曲線をシェーディングするために、私は以下の線のようなものを使用していますが、この問題では使用できません(または方法がわかりません)。

polygon(c(0,xred,10),c(0,yred,0),col="mistyrose", border=NA)

あなたの助けは大歓迎です!また、曲線を描くためのより良い方法がある場合は、アドバイスしてください!(Rを学ぶのは2日目なので、はっきりさせてください!)ありがとう。

ソリューション-@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)
4

1 に答える 1

1

密度関数は、グラフをプロットするという副作用をもたらしますが、「x」および「y」という名前のコンポーネントを含むリストも返すため、名前付きオブジェクト(「den1」と名付けています)として保存して機能させる必要があります。それらのコンポーネントで。密度図に「傾斜」があるため、ISTRに制約を受け入れる密度関数がある「logspline」パッケージを確認することをお勧めします。

したがって、最初のプロット戦略として、代わりにこれを実行してください。

plot(den2 <-density(absy2), type="l", axes=FALSE, xlab = "", ylab = "", main="", col="red")
lines(den1 <-density(absy1), col="blue")

次に、色付きのポリゴンを追加します(この場合は「シグマ」は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]で閉じます。

ここに画像の説明を入力してください

于 2012-09-16T16:37:20.170 に答える