この節の作者: Ravi Selker, Jonathon Love, Damian Dropmann
Linear Regression (linReg
)¶
Description¶
Linear regression is used to explore the relationship between a continuous dependent variable, and one or more continuous and / or categorical explanatory variables. Other statistical methods, such as ANOVA and ANCOVA, are in reality just forms of linear regression.
Usage¶
linReg(
data,
dep,
covs = NULL,
factors = NULL,
blocks = list(list()),
refLevels = NULL,
intercept = "refLevel",
r = TRUE,
r2 = TRUE,
r2Adj = FALSE,
aic = FALSE,
bic = FALSE,
rmse = FALSE,
modelTest = FALSE,
anova = FALSE,
ci = FALSE,
ciWidth = 95,
stdEst = FALSE,
ciStdEst = FALSE,
ciWidthStdEst = 95,
coefPlot = FALSE,
norm = FALSE,
qqPlot = FALSE,
resPlots = FALSE,
durbin = FALSE,
collin = FALSE,
cooks = FALSE,
emMeans = list(list()),
ciEmm = TRUE,
ciWidthEmm = 95,
emmPlots = TRUE,
emmTables = FALSE,
emmWeights = TRUE
)
Arguments¶
data |
the data as a data frame |
dep |
the dependent variable from data , variable must be numeric |
covs |
the covariates from data |
factors |
the fixed factors from data |
blocks |
a list containing vectors of strings that name the predictors that are added to the model. The elements are added to the model according to their order in the list |
refLevels |
a list of lists specifying reference levels of the dependent variable and all the factors |
intercept |
'refLevel' (default) or 'grandMean' , coding of the intercept. Either creates contrast so that the intercept represents the
reference level or the grand mean |
r |
TRUE (default) or FALSE , provide the statistical measure R for the models |
r2 |
TRUE (default) or FALSE , provide the statistical measure R-squared for the models |
r2Adj |
TRUE or FALSE (default), provide the statistical measure adjusted R-squared for the models |
aic |
TRUE or FALSE (default), provide Aikaike's Information Criterion (AIC) for the models |
bic |
TRUE or FALSE (default), provide Bayesian Information Criterion (BIC) for the models |
rmse |
TRUE or FALSE (default), provide RMSE for the models |
modelTest |
TRUE (default) or FALSE , provide the model comparison between the models and the NULL model |
anova |
TRUE or FALSE (default), provide the omnibus ANOVA test for the predictors |
ci |
TRUE or FALSE (default), provide a confidence interval for the model coefficients |
ciWidth |
a number between 50 and 99.9 (default: 95) specifying the confidence interval width |
stdEst |
TRUE or FALSE (default), provide a standardized estimate for the model coefficients |
ciStdEst |
TRUE or FALSE (default), provide a confidence interval for the model coefficient standardized estimates |
ciWidthStdEst |
a number between 50 and 99.9 (default: 95) specifying the confidence interval width |
coefPlot |
TRUE or FALSE (default), provide a coefficient plot where for each predictor the estimated coefficient and confidence intervals
are plotted. |
norm |
TRUE or FALSE (default), perform a Shapiro-Wilk test on the residuals |
qqPlot |
TRUE or FALSE (default), provide a Q-Q plot of residuals |
resPlots |
TRUE or FALSE (default), provide residual plots where the dependent variable and each covariate is plotted against the
standardized residuals. |
durbin |
TRUE or FALSE (default), provide results of the Durbin-Watson test for autocorrelation |
collin |
TRUE or FALSE (default), provide VIF and tolerence collinearity statistics |
cooks |
TRUE or FALSE (default), provide summary statistics for the Cook's distance |
emMeans |
a formula containing the terms to estimate marginal means for, supports up to three variables per term |
ciEmm |
TRUE (default) or FALSE , provide a confidence interval for the estimated marginal means |
ciWidthEmm |
a number between 50 and 99.9 (default: 95) specifying the confidence interval width for the estimated marginal means |
emmPlots |
TRUE (default) or FALSE , provide estimated marginal means plots |
emmTables |
TRUE or FALSE (default), provide estimated marginal means tables |
emmWeights |
TRUE (default) or FALSE , weigh each cell equally or weigh them according to the cell frequency |
Output¶
A results object containing:
results$modelFit |
a table |
results$modelComp |
a table |
results$models |
an array of model specific results |
Tables can be converted to data frames with asDF
or as.data.frame()
. For example:
results$modelFit$asDF
as.data.frame(results$modelFit)
Examples¶
data('Prestige', package='carData')
linReg(data = Prestige, dep = income,
covs = vars(education, prestige, women),
blocks = list(list('education', 'prestige', 'women')))
#
# LINEAR REGRESSION
#
# Model Fit Measures
# ---------------------------
# Model R R²
# ---------------------------
# 1 0.802 0.643
# ---------------------------
#
#
# MODEL SPECIFIC RESULTS
#
# MODEL 1
#
#
# Model Coefficients
# --------------------------------------------------------
# Predictor Estimate SE t p
# --------------------------------------------------------
# Intercept -253.8 1086.16 -0.234 0.816
# women -50.9 8.56 -5.948 < .001
# prestige 141.4 29.91 4.729 < .001
# education 177.2 187.63 0.944 0.347
# --------------------------------------------------------
#