(dat <- data.frame(
y=c(1,2,3,4),
x=c(4,5,8,12),
group=c("A", "A", "B", "B")
))
![](https://y2pt.com/wp-content/uploads/2023/03/image-76.png)
#散布図作成
plot(y~x, data=dat)
![](https://y2pt.com/wp-content/uploads/2023/03/image-77.png)
#全体の単回帰分析
(fit <- summary(lm(y~x, data=dat)))
![](https://y2pt.com/wp-content/uploads/2023/03/image-78.png)
#回帰直線
x0 <- range(dat$x) #x軸の範囲
b0 <- fit$coef[1] #切片
b1 <- fit$coef[2] #傾き
lines(x0, b0 + b1*x0) #回帰直線
![](https://y2pt.com/wp-content/uploads/2023/03/image-79.png)
AとBで層別(Aを●、Bを○に設定)、pchはよく使う関数を参照
pchAB <- ifelse(
dat$group == "A", 19, 21
)
plot(
y~x,
pch=pchAB,
cex=1.5,
data=dat
)
#凡例
legend(
"bottomright",
legend=c("A", "B"),
pch=c(19, 21),
)
![](https://y2pt.com/wp-content/uploads/2023/03/image-80.png)
#groupAとgroupBの回帰直線
fitA <- summary(lm(y ~ x, data=dat[dat$group=="A",]))
lines(x0, fitA$coef[1]+ fitA$coef[2]*x0)
fitB <- summary(lm(y ~ x, data=dat[dat$group=="B",]))
lines(x0, fitB$coef[1]+ fitB$coef[2]*x0, lty=3)
![](https://y2pt.com/wp-content/uploads/2023/03/image-81.png)
コメント欄 『間違い』や『分かりにくい部分』などのご意見もお寄せください