R
(dat <- data.frame(
y=c(1,2,3,4),
x=c(4,5,8,12),
group=c("A", "A", "B", "B")
))
R
#散布図作成
plot(y~x, data=dat)
R
#全体の単回帰分析
(fit <- summary(lm(y~x, data=dat)))
R
#回帰直線
x0 <- range(dat$x) #x軸の範囲
b0 <- fit$coef[1] #切片
b1 <- fit$coef[2] #傾き
lines(x0, b0 + b1*x0) #回帰直線
AとBで層別(Aを●、Bを○に設定)、pchはよく使う関数を参照
R
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),
)
R
#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)
コメント欄 『間違い』や『分かりにくい部分』などのご意見もお寄せください