c:ma:2023:schedule:note_r
# read
# http://commres.net/wiki/Correlation
# http://commres.net/wiki/Regression
# http://commres.net/wiki/Multiple Regression
# http://commres.net/wiki/Partial_and_semipartial_correlation
data("marketing", package = "datarium")
head(marketing, 4)
length(marketing$sales)
attach(marketing)
m.sa.all <- lm(sales~., data=marketing)
summary(m.sa.all)
m.sa.yt <- lm(sales~youtube, data=marketing)
m.sa.fb <- lm(sales~facebook, data=marketing)
m.sa.np <- lm(sales~newspaper, data=marketing)
summary(m.sa.yt)
summary(m.sa.fb)
summary(m.sa.np)
# sales = dv
m.sales <- mean(sales)
var.sales <- var(sales)
df.sales <- length(sales) - 1
ss.sales <- var.sales * df.sales
ss.sales
var.sales
df.sales
df.sales*var.sales
predict(m.sa.yt)
pred.sales.with.yt <- m.sa.yt$fitted.values
ss.error <- sum((sales-pred.sales.with.yt)^2)
ss.error
sum(m.sa.yt$residuals^2)
ss.sales <- sum((sales-mean(sales))^2)
ss.sales
var(sales)*df.sales
ss.reg <- ss.sales - ss.error
ss.reg
sum((pred.sales.with.yt-m.sales)^2)
r.square.value <- (ss.sales-ss.error)/ss.sales
r.square.value
df.reg <- 2 - 1 # (# of ivs and dv - 1)
ms.reg <- ss.reg / df.reg
df.res <- length(sales) - 2 # (# of variables)
ms.res <- ss.error / df.res
f.value <- ms.reg/ms.res
f.value
summary(m.sa.yt)
1-pf(f.value, df.reg, df.res, lower.tail = TRUE)
m.sa.np <- lm(sales~newspaper, data=marketing)
summary(m.sa.np)
m.sa.ytfbnp <- lm(sales~youtube+facebook+newspaper, data=marketing)
summary(m.sa.ytfbnp) # where have np effects gone?
anova(m.sa.ytfbnp)
m.sa.npytfb <- lm(sales~newspaper+youtube+facebook, data=marketing)
summary(m.sa.npytfb) # where have np effects gone?
anova(m.sa.npytfb)
# see
# http://commres.net/wiki/partial_and_semipartial_correlation
#
c/ma/2023/schedule/note_r.txt · Last modified: by hkimscil
