User Tools

Site Tools


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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki