c:ms:2023:schedule:w11.lecture.note
This is an old revision of the document!
datavar <- read.csv("http://commres.net/wiki/_media/regression01-bankaccount.csv") datavar colnames(datavar) <- c("y", "x1", "x2") datavar attach(datavar) lm.y.x1 <- lm(y~x1, data=datavar) summary(lm.y.x1) intercept.y <- lm.y.x1$coefficients[1] slope.x <- lm.y.x1$coefficients[2] intercept.y slope.x ggplot(data=datavar, aes(income,bankaccount)) + geom_point(color="blue", size=1.5, pch=2) + geom_hline(aes(yintercept=mean(bankaccount)),size=1.5, color="red") + geom_abline(intercept=intercept.y, slope=slope.x, size=1.5, color="darkgreen") lm.y.x2 <- lm(y~x2, data=datavar) summary(lm.y.x2) intercept.y <- lm.y.x2$coefficients[1] slope.x <- lm.y.x2$coefficients[2] intercept.y slope.x ggplot(data=datavar, aes(famnum,bankaccount)) + geom_point(color="blue", size=1.5, pch=2) + geom_hline(aes(yintercept=mean(bankaccount)),size=1.5, color="red") + geom_abline(intercept=intercept.y, slope=slope.x, size=1.5, color="darkgreen") lm.y.x1x2 <- lm(y~x1+x2, data=datavar) summary(lm.y.x1x2) res.y.minus.x2 <- resid(lm.y.x2) # y - x2 lm.x1.x2 <- lm(x1~x2, data=datavar) res.x1.minus.x2 <- resid(lm.x1.x2) # x1 - x2 lm(res.y.minus.x2~res.x1.minus.x2) summary(lm(res.y.minus.x2~res.x1.minus.x2)) # x2를 y, x1에서 모두 제외한 분석 # or cor(res.y.minus.x2, res.x1.minus.x2) cor(res.y.minus.x2, res.x1.minus.x2)^2 summary(lm(res.y.minus.x2~res.x1.minus.x2))$r.squared ################## install.packages("ppcor") library(ppcor) pcor(datavar) y x1 x2 datavar pcor.test(y, x1, x2) summary(lm(res.y.minus.x2~res.x1.minus.x2)) r.sq <- (summary(lm(res.lm.ba.fn~res.lm.inc.fn)))$r.squared sqrt(r.sq) # 같은 논리로 semi-partial을 살펴보면 공통 영향력의 크기를 # 알아낼 수 있다. sp.y.x1 <- spcor.test(y, x1, x2) sp.y.x2 <- spcor.test(y, x2, x1) b <- sp.y.x1$estimate^2 c <- sp.y.x2$estimate^2 b c temp.bc <- b + c temp.bc summary(lm.y.x1x2)$r.squared # b+c+d / a+b+c+d common.area <- summary(lm.y.x1x2)$r.squared - temp.bc common.area y.x1 <- lm(y~x1, data=datavar) y.x2 <- lm(y~x2, data=datavar) bd <- summary(y.x1)$r.squared cd <- summary(y.x2)$r.squared bd cd bd+cd bd+cd-common.area summary(lm.y.x1x2)$r.squared
c/ms/2023/schedule/w11.lecture.note.1684130887.txt.gz · Last modified: 2023/05/15 15:08 by hkimscil