• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:統計ソフトRの初心者です。)

回帰分析における平均の信頼区間と予測区間の散布図上でのプロット方法

このQ&Aのポイント
  • 回帰分析における平均の信頼区間と予測区間を散布図上にプロットする方法について教えてください。
  • 平均の信頼区間と予測区間は求めることができたが、それを散布図上にプロットする方法がわからない。
  • 統計ソフトRを使って回帰分析を行っている初心者です。散布図上に平均の信頼区間と予測区間をプロットする方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • backs
  • ベストアンサー率50% (410/818)
回答No.1

まずRでは = ではなくて <- を使うようにしましょう。 それで、私はpredict()が良く分からないのですが、次のような関数を定義してあげればたぶん質問者さんの望むものが得られます。predict()で得た値をmatplot()で書く方法を知りたいのであれば、他の回答を待ってください(^_^;) conf.limit <- function(x, y, alpha=0.05){ plot(x, y) n <- length(x) b <- var(x, y)/var(x) a <- mean(y)-b*mean(x) abline(a, b) sx2 <- var(x)*(n-1) # SSX R <- max(x)-min(x) x1 <- seq(min(x)-R*0.1, max(x)+R*0.1, R/20) # x軸の値(=x') y1 <- a+b*x1 ta <- -qt(alpha/2, n-2) # t.crit Ve <- (var(y)-var(x, y)^2/var(x))*(n-1)/(n-2) # MSe(=s) temp <- ta*sqrt(Ve)*sqrt(1/n+(x1-mean(x))^2/sx2) # 信頼区間 y2 <- y1-temp lines(x1, y2, lty="dotted", col="red") y2 <- y1+temp lines(x1, y2, lty="dotted", col="red") temp <- ta*sqrt(Ve)*sqrt(1+1/n+(x1-mean(x))^2/sx2) # 予測区間 y2 <- y1-temp lines(x1, y2, lty="dashed", col="blue") y2 <- y1+temp lines(x1, y2, lty="dashed", col="blue") } > boats <- c(447, 460, 481, 498, 512, 513, 526, 559, 585, 614, 645, 675, 711, 719, 727) > manatee <- c(13, 21, 24, 16, 24, 20, 15, 34, 33, 33, 39, 43, 50, 47, 54) > conf.limit(boats, manatee, alpha = 0.05) これは群馬大学の青木先生のページhttp://aoki2.si.gunma-u.ac.jp/R/scatter.htmlに掲載されている関数を私が一部改変させていただいたものです。

kinngudamu
質問者

お礼

親切、丁寧に教えていただきありがとうございました。参考にします。

関連するQ&A