# Clear workspace
rm(list=ls())
Warning message:
running command '/usr/bin/otool -L /Library/Frameworks/R.framework/Versions/3.3/Resources/library/pbdZMQ/libs/pbdZMQ.so' had status 1
# interpreting interaction coefficients from lm first case two categorical variables
set.seed(12)
f1 <- gl(n = 2, k = 30, labels = c("Low", "High"))
f2 <- as.factor(rep(c("A", "B", "C"), times = 20))
modmat <- model.matrix(~f1 * f2, data.frame(f1 = f1, f2 = f2))
coeff <- c(1, 3, -2, -4, 1, -1.2)
y <- rnorm(n = 60, mean = modmat %*% coeff, sd = 0.1)
dat <- data.frame(y = y, f1 = f1, f2 = f2)
summary(lm(y ~ f1 * f2))
Call:
lm(formula = y ~ f1 * f2)
Residuals:
Min 1Q Median 3Q Max
-0.199479 -0.063752 -0.001089 0.058162 0.222229
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.97849 0.02865 34.15 <2e-16 ***
f1High 3.00306 0.04052 74.11 <2e-16 ***
f2B -1.97878 0.04052 -48.83 <2e-16 ***
f2C -4.00206 0.04052 -98.77 <2e-16 ***
f1High:f2B 0.98924 0.05731 17.26 <2e-16 ***
f1High:f2C -1.16620 0.05731 -20.35 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.09061 on 54 degrees of freedom
Multiple R-squared: 0.9988, Adjusted R-squared: 0.9987
F-statistic: 8785 on 5 and 54 DF, p-value: < 2.2e-16
# second case one categorical and one continuous variable
x <- runif(50, 0, 10)
f1 <- gl(n = 2, k = 25, labels = c("Low", "High"))
modmat <- model.matrix(~x * f1, data.frame(f1 = f1, x = x))
coeff <- c(1, 3, -2, 1.5)
y <- rnorm(n = 50, mean = modmat %*% coeff, sd = 0.5)
dat <- data.frame(y = y, f1 = f1, x = x)
summary(lm(y ~ x * f1))
Call:
lm(formula = y ~ x * f1)
Residuals:
Min 1Q Median 3Q Max
-0.9222 -0.2663 -0.0347 0.3586 1.0077
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.17129 0.26207 4.469 5.09e-05 ***
x 2.98763 0.03772 79.196 < 2e-16 ***
f1High -2.09249 0.33376 -6.270 1.14e-07 ***
x:f1High 1.49238 0.05394 27.670 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.4757 on 46 degrees of freedom
Multiple R-squared: 0.9977, Adjusted R-squared: 0.9975
F-statistic: 6593 on 3 and 46 DF, p-value: < 2.2e-16
# third case interaction between two continuous variables
x1 <- runif(50, 0, 10)
x2 <- rnorm(50, 10, 3)
modmat <- model.matrix(~x1 * x2, data.frame(x1 = x1, x2 = x2))
coeff <- c(1, 2, -1, 1.5)
y <- rnorm(50, mean = modmat %*% coeff, sd = 0.5)
dat <- data.frame(y = y, x1 = x1, x2 = x2)
summary(lm(y ~ x1 * x2))
################################################################################
################################################################################
# Clear workspace
rm(list=ls())
#read data into variable
datavar <- read.csv("/Users/oba2311/Desktop/Minerva/Junior/SS154/6/nba_2017_nba_players_with_salary.csv")
#attach data variable
attach(datavar)
The following objects are masked from datavar (pos = 3):
AGE, AST, BLK, DRB, DRPM, eFG., FG, FG., FGA, FT, FT., FTA, GP, MP, MPG, ORB, ORPM,
PACE, PF, PIE, PLAYER, POINTS, POSITION, Rk, RPM, SALARY_MILLIONS, STL, TEAM, TOV,
TRB, W, WINS_RPM, X, X2P, X2P., X2PA, X3P, X3P., X3PA
#display all data
head(datavar)
#create the interaction variable
#step 1: center the input variables
age_c <- AGE - mean(AGE)
fg_c <- FG - mean(FG)
#step 2: multiply the input variables
fg_age_i <- age_c * fg_c
#create the interaction model using lm(FORMULA, DATAVAR)
interactionModel <- lm(SALARY_MILLIONS ~ age_c+fg_c+fg_age_i, datavar)
#display summary information about the model
summary(interactionModel)
Call:
lm(formula = SALARY_MILLIONS ~ age_c + fg_c + fg_age_i, data = datavar)
Residuals:
Min 1Q Median 3Q Max
-12.1657 -2.4803 -0.5117 1.9955 16.8275
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.23666 0.22998 31.467 < 2e-16 ***
age_c 0.58610 0.05466 10.723 < 2e-16 ***
fg_c 1.92038 0.10525 18.246 < 2e-16 ***
fg_age_i 0.19574 0.02626 7.454 7.68e-13 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.251 on 338 degrees of freedom
Multiple R-squared: 0.5782, Adjusted R-squared: 0.5745
F-statistic: 154.5 on 3 and 338 DF, p-value: < 2.2e-16
LS0tCnRpdGxlOiAiNi4yIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCmBgYHtyfQojIENsZWFyIHdvcmtzcGFjZQpybShsaXN0PWxzKCkpIAoKIyBpbnRlcnByZXRpbmcgaW50ZXJhY3Rpb24gY29lZmZpY2llbnRzIGZyb20gbG0gZmlyc3QgY2FzZSB0d28gY2F0ZWdvcmljYWwgdmFyaWFibGVzCnNldC5zZWVkKDEyKQpmMSA8LSBnbChuID0gMiwgayA9IDMwLCBsYWJlbHMgPSBjKCJMb3ciLCAiSGlnaCIpKQpmMiA8LSBhcy5mYWN0b3IocmVwKGMoIkEiLCAiQiIsICJDIiksIHRpbWVzID0gMjApKQptb2RtYXQgPC0gbW9kZWwubWF0cml4KH5mMSAqIGYyLCBkYXRhLmZyYW1lKGYxID0gZjEsIGYyID0gZjIpKQpjb2VmZiA8LSBjKDEsIDMsIC0yLCAtNCwgMSwgLTEuMikKeSA8LSBybm9ybShuID0gNjAsIG1lYW4gPSBtb2RtYXQgJSolIGNvZWZmLCBzZCA9IDAuMSkKZGF0IDwtIGRhdGEuZnJhbWUoeSA9IHksIGYxID0gZjEsIGYyID0gZjIpCnN1bW1hcnkobG0oeSB+IGYxICogZjIpKQpgYGAKCmBgYHtyfQojIHNlY29uZCBjYXNlIG9uZSBjYXRlZ29yaWNhbCBhbmQgb25lIGNvbnRpbnVvdXMgdmFyaWFibGUKeCA8LSBydW5pZig1MCwgMCwgMTApCmYxIDwtIGdsKG4gPSAyLCBrID0gMjUsIGxhYmVscyA9IGMoIkxvdyIsICJIaWdoIikpCm1vZG1hdCA8LSBtb2RlbC5tYXRyaXgofnggKiBmMSwgZGF0YS5mcmFtZShmMSA9IGYxLCB4ID0geCkpCmNvZWZmIDwtIGMoMSwgMywgLTIsIDEuNSkKeSA8LSBybm9ybShuID0gNTAsIG1lYW4gPSBtb2RtYXQgJSolIGNvZWZmLCBzZCA9IDAuNSkKZGF0IDwtIGRhdGEuZnJhbWUoeSA9IHksIGYxID0gZjEsIHggPSB4KQpzdW1tYXJ5KGxtKHkgfiB4ICogZjEpKQpgYGAKCgpgYGB7cn0KCiMgdGhpcmQgY2FzZSBpbnRlcmFjdGlvbiBiZXR3ZWVuIHR3byBjb250aW51b3VzIHZhcmlhYmxlcwp4MSA8LSBydW5pZig1MCwgMCwgMTApCngyIDwtIHJub3JtKDUwLCAxMCwgMykKbW9kbWF0IDwtIG1vZGVsLm1hdHJpeCh+eDEgKiB4MiwgZGF0YS5mcmFtZSh4MSA9IHgxLCB4MiA9IHgyKSkKY29lZmYgPC0gYygxLCAyLCAtMSwgMS41KQp5IDwtIHJub3JtKDUwLCBtZWFuID0gbW9kbWF0ICUqJSBjb2VmZiwgc2QgPSAwLjUpCmRhdCA8LSBkYXRhLmZyYW1lKHkgPSB5LCB4MSA9IHgxLCB4MiA9IHgyKQpzdW1tYXJ5KGxtKHkgfiB4MSAqIHgyKSkKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmBgYAoKYGBge3J9CgojIENsZWFyIHdvcmtzcGFjZQpybShsaXN0PWxzKCkpIAoKI3JlYWQgZGF0YSBpbnRvIHZhcmlhYmxlCmRhdGF2YXIgPC0gcmVhZC5jc3YoIi9Vc2Vycy9vYmEyMzExL0Rlc2t0b3AvTWluZXJ2YS9KdW5pb3IvU1MxNTQvNi9uYmFfMjAxN19uYmFfcGxheWVyc193aXRoX3NhbGFyeS5jc3YiKQoKI2F0dGFjaCBkYXRhIHZhcmlhYmxlCmF0dGFjaChkYXRhdmFyKQoKI2Rpc3BsYXkgYWxsIGRhdGEKaGVhZChkYXRhdmFyKQpgYGAKCgpgYGB7cn0KCiNjcmVhdGUgdGhlIGludGVyYWN0aW9uIHZhcmlhYmxlCiNzdGVwIDE6IGNlbnRlciB0aGUgaW5wdXQgdmFyaWFibGVzCmFnZV9jIDwtIEFHRSAtIG1lYW4oQUdFKQpmZ19jIDwtIEZHIC0gbWVhbihGRykKI3N0ZXAgMjogbXVsdGlwbHkgdGhlIGlucHV0IHZhcmlhYmxlcwpmZ19hZ2VfaSA8LSBhZ2VfYyAqIGZnX2MKCiNjcmVhdGUgdGhlIGludGVyYWN0aW9uIG1vZGVsIHVzaW5nIGxtKEZPUk1VTEEsIERBVEFWQVIpCmludGVyYWN0aW9uTW9kZWwgPC0gbG0oU0FMQVJZX01JTExJT05TIH4gYWdlX2MrZmdfYytmZ19hZ2VfaSwgZGF0YXZhcikKI2Rpc3BsYXkgc3VtbWFyeSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbW9kZWwKc3VtbWFyeShpbnRlcmFjdGlvbk1vZGVsKQpgYGAKCg==