This is an old revision of the document!
############################
dvar ← read.csv(“http://commres.net/wiki/_media/elemapi2_.csv”, sep=“\t”, fileEncoding=“UTF-8-BOM”)
dvar
mod ← lm(api00 ~ ell + acs_k3 + avg_ed + meals, data=dvar)
summary(mod)
anova(mod)
mod01 ← lm(api00 ~ acs_k3 + ell + avg_ed + meals, data=dvar)
summary(mod01)
anova(mod01)
mod02 ← lm(api00 ~ ell + avg_ed + acs_k3 + meals, data=dvar)
summary(mod02)
anova(mod02)
mod03 ← lm(api00 ~ ell + avg_ed + meals + acs_k3, data=dvar)
summary(mod03)
anova(mod03)
#################################################
#setwd(“user location”) #Working directory
set.seed(123) #Standardizes the numbers generated by rnorm; see Chapter 5
n ← 100 #Number of participants; graduate students
x ← rnorm(N, 175, 7) #IV; hours since dawn
m ← 0.7*X + rnorm(N, 0, 5) #Suspected mediator; coffee consumption
y ← 0.4*M + rnorm(N, 0, 5) #DV; wakefulness
md ← data.frame(x, m, y)
lm.yx ← lm(y~x,data=md)
summary(lm.yx)
lm.mx ← lm(m~x, data=md)
summary(lm.mx)
lm.ymx ← lm(y~m+x, data=md)
summary(lm.ymx)
#####################################
# x와 m이 상관관계가 높고
# 이론적으로 혹은 논리적으로
# 인과관계가 분명할 때,
# x의 (y로 가는) 영향력이
# m으로 옮겨가서 영향력을
# 간접적으로 주는 것으로 해석할
# 수 있다. 이 때
# mediation effect를 계산한다
#####################################
lm.xm ← lm(x~m, data = md)
summary(lm.xm)
lm.xm.res ← lm.xm$residuals
lm.yxmres ← lm(y~lm.xm.res, data=md)
summary(lm.yxmres)
lm.reg ← lm.xm$fitted.values
lm.yreg ← lm(y~lm.reg,data=md)
summary(lm.yreg)
lm.reg2 ← lm.mx$fitted.values
lm.yreg2 ← lm(y~lm.reg2,data=md)
summary(lm.yreg2)
cor(lm.reg, lm.reg2)
#####################################
attach(md)
lma ← lm(x~m, data=md)
lmb ← lm(m~x, data=md)
summary(lma)
summary(lmb)
reg ← lma$fitted.values
yreg ← lm(y~reg, data = md)
summary(yreg)
res ← lma$residuals
yres ← lm(y~res, data=md)
summary(yres)
ss.x ← var(x)*(length(x)-1)
ss.m ← var(m)*(length(m)-1)
var(x)
ss.x
ss.reg ← sum(reg^2)
rsa ← ss.reg/ss.x
rsa
reg2 ← lmb$fitted.values
var(m)
ss.m
ss.reg2 ← sum(reg2^2)
rsb ← ss.reg2/ss.m
rsb
###########################
options(digits = 4)
HSGPA ← c(3.0, 3.2, 2.8, 2.5, 3.2, 3.8, 3.9, 3.8, 3.5, 3.1)
FGPA ← c(2.8, 3.0, 2.8, 2.2, 3.3, 3.3, 3.5, 3.7, 3.4, 2.9)
SATV ← c(500, 550, 450, 400, 600, 650, 700, 550, 650, 550)
GREV ← c(600, 670, 540, 800, 750, 820, 830, 670, 690, 600)
##GREV ← c(510, 670, 440, 800, 750, 420, 830, 470, 690, 600)
scholar ← data.frame(HSGPA, FGPA, SATV, GREV) # collect into a data frame
describe(scholar) # provides descrptive information about each variable
attach(scholar)
m00 ← lm(FGPA ~ SATV, data=scholar)
summary(m00)
m01 ← lm(HSGPA ~ SATV, data=scholar)
summary(m01)
m03 ← lm(FGPA ~ HSGPA + SATV, data=scholar)
summary(m03)
pcor.test(FGPA, SATV, HSGPA)
pcor.test(FGPA, HSGPA, SATV)
# proof of other variables controlled
###########################
a ← spcor.test(FGPA, SATV, HSGPA)$estimate^2
b ← spcor.test(FGPA, HSGPA, SATV)$estimate^2
c ← cor(FGPA, SATV)^2
d ← cor(FGPA, HSGPA)^2
c-a
d-b
# common affected area proof
###########################