c:ms:multiple_regression_lecture_note_for_r

This is an old revision of the document!


# multiple regression: a simple e.g.
#
#
rm(list=ls())
d <- read.csv("http://commres.net/wiki/_media/regression01-bankaccount.csv") 
d

colnames(d) <- c("y", "x1", "x2")
d
attach(d)
lm.y.x1 <- lm(y ~ x1, data=d)
summary(lm.y.x1)

lm.y.x2 <- lm(y ~ x2, data=d)
summary(lm.y.x2)

lm.y.x1x2 <- lm(y ~ x1+x2, data=d)
summary(lm.y.x1x2)


lm.y.x1x2$coefficient
# y.hat = 6.399103 + (0.011841)*x1 + (−0.544727)*x2 
a <- lm.y.x1x2$coefficient[1]
b1 <- lm.y.x1x2$coefficient[2]
b2 <- lm.y.x1x2$coefficient[3]

y.pred <- a + (b1 * x1) + (b2 * x2)
y.pred
y.real <- y
y.real
y.mean <- mean(y)
y.mean 

res <- y.real - y.pred
reg <- y.pred - y.mean
ss.res <- sum(res^2)
ss.reg <- sum(reg^2)

ss.tot <- var(y) * (length(y)-1)
ss.tot
ss.res
ss.reg
ss.res+ss.reg

# slope test
summary(lm.y.x1x2)
# note on 2 t-tests 

# beta coefficient (standardized b)
# beta <- b * (sd(x)/sd(y))
beta1 <- b1 * (sd(x1)/sd(y))
beta2 <- b2 * (sd(x2)/sd(y))
beta1
beta2

install.packages("lm.beta")
library(lm.beta)
lm.beta(lm.y.x1x2)

#######################################################
# partial correlation coefficient and pr2
# x2's explanation? 
lm.tmp.1 <- lm(x2~x1, data=d)
res.x2.x1 <- lm.tmp.1$residuals

lm.tmp.2 <- lm(y~x1, data=d)
res.y.x2 <- lm.tmp.2$residuals

lm.tmp.3 <- lm(res.y.x2 ~ res.x2.x1, data=d)
summary(lm.tmp.3)

install.packages("ppcor")
library(ppcor)
pcor(d)
spcor(d)
partial.r <- pcor.test(y,x2,x1)
str(partial.r)
partial.r
partial.r$estimate^2

# x1's own explanation?
lm.tmp.4 <- lm(x1~x2, data=d)
res.x1.x2 <- lm.tmp.4$residuals

lm.tmp.5 <- lm(y~x2, data=d)
res.y.x1 <- lm.tmp.5$residuals

lm.tmp.6 <- lm(res.y.x1 ~ res.x1.x2, data=d)
summary(lm.tmp.6)

partial.r2 <- pcor.test(y,x1,x2)
str(partial.r2)
partial.r2$estimate^2
#######################################################

# semipartial correlation coefficient and spr2
#
spr.1 <- spcor.test(y,x2,x1)
spr.2 <- spcor.test(y,x1,x2)
spr.1
spr.2
spr.1$estimate^2
spr.2$estimate^2

lm.tmp.7 <- lm(y~res.x2.x1, data = d)
summary(lm.tmp.7)
#######################################################

summary(lm.y.x2)
all.x2 <- summary(lm.y.x2)$r.squared
sp.x2 <- spr.1$estimate^2
all.x2
sp.x2
all.x2 - sp.x2

summary(lm.y.x1)
all.x1 <- summary(lm.y.x1)$r.squared
sp.x1 <- spr.2$estimate^2
all.x1
sp.x1
all.x1 - sp.x1

c/ms/multiple_regression_lecture_note_for_r.1717551215.txt.gz · Last modified: 2024/06/05 10:33 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki