★ カイ二乗分布のプロット ★

8400. カイ二乗分布のプロット 波音 2005/11/19 (土) 16:57
└8401. Re: カイ二乗分布のプロット 青木繁伸 2005/11/19 (土) 17:21
 └8402. Re^2: カイ二乗分布のプロット 波音 2005/11/19 (土) 17:49


8400. カイ二乗分布のプロット 波音  2005/11/19 (土) 16:57
自由度が19のカイ二乗分布のグラフを描いているのですが,下のプログラムだと8.91から32.85までの範囲を塗り潰すよう になっています。ですが本当は,この塗りつぶされていない部分(つまりは0から8.91までと32.85から∞)を塗りつぶしたいのですが,その方法を教 えてください。

DF<-function(x) dchisq(x,19)
plot(DF, 0, 50, xlab="", ylab="", main="chisq distribution density",ylim=c(0,0.09),type="l")
xvals<-seq(qchisq(0.025,19),qchisq(0.975,19),length=50)
dvals<-DF(xvals)
polygon(c(xvals,rev(xvals)),c(rep(0,50),rev(dvals)),col="pink")
abline(h=0)

     [このページのトップへ]


8401. Re: カイ二乗分布のプロット 青木繁伸  2005/11/19 (土) 17:21
paint という関数を定義してみましたが。。

paint <- function(x1, x2)
{
xvals <- seq(x1, x2, length=50)
dvals <- c(DF(xvals), 0, 0)
xvals <- c(xvals, x2, x1)
polygon(xvals, dvals, col="pink")
}
DF<-function(x) dchisq(x,19)
plot(DF, 0, 50, xlab="", ylab="", main="chisq distribution density",ylim=c(0,0.09),type="l")
xvals<-seq(qchisq(0.025,19),qchisq(0.975,19),length=50)
dvals<-DF(xvals)
#polygon(c(xvals,rev(xvals)),c(rep(0,50),rev(dvals)),col="pink")
paint(0, 8.91)
paint(32.85, 50)
abline(h=0)

     [このページのトップへ]


8402. Re^2: カイ二乗分布のプロット 波音  2005/11/19 (土) 17:49
回答ありがとうございます。
なるほど,paint()で範囲指定するだけで塗りつぶせるようになっているのですね!!後から見れば単純な定義かもしれませんが,これを思いつくという所が流石です。早速ノートして忘れないようにします。

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 035 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る