※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

#--- サンプルデータ作成 ---#
set.seed(2801)
data <- data.frame(x=rep(seq(5), rep(6,5)))
data$y <- data$x * 10 + 5 + rnorm(nrow(data), sd=10)

#--- 予測したい x の範囲 ---#
x.pred <- data.frame(x=seq(1, 6, length=101))

#--- 直線回帰 ---#
fm1 <- lm(y ~ x, data)

#--- 信頼区間 ---#
fm1.conf <- predict(fm1, x.pred, interval="confidence") # 平均値
fm1.pred <- predict(fm1, x.pred, interval="prediction") # 個別

#--- プロット ---#
matplot(x.pred, fm1.pred, lty=c(1,2,2), type="l", col="black",
  xlab="x", ylab="y")
points(data$x, data$y)

lines(x.pred$x, fm1.conf[,"lwr"], lty=2, col="blue")
lines(x.pred$x, fm1.conf[,"upr"], lty=2, col="blue")

参照

R