
Confidence Intervals for a 'cond_effect' Class Object
Source:R/confint_condeff.R
confint.cond_effect.RdReturn the confidence intervals of estimates
conditional effect in the output of
cond_effect() or cond_effect_boot().
Usage
# S3 method for class 'cond_effect'
confint(object, parm, level = 0.95, type, ...)Arguments
- object
The output of
cond_effect()orcond_effect_boot().- parm
Ignored by this function. The confidence intervals for all available levels will be returned.
- level
The level of confidence. For the confidence intervals returned by
lm(), default is .95, i.e., 95%. For the bootstrap percentile confidence intervals, default is the level used in callingcond_effect_boot().- type
The type of the confidence intervals. If est to
"lm", returns the confidence interval given by theconfint()method oflm(). If set to"boot", the bootstrap percentile confidence intervals are returned. Default is"boot"if bootstrap estimates are stored inobject, and"lm"if bootstrap estimates are not stored.- ...
Additional arguments. Ignored.
Details
If bootstrapping is used to form the confidence interval by
cond_effect_boot(),
users can request the percentile confidence intervals of
the bootstrap estimates. This method does not do the bootstrapping itself.
Author
Shu Fai Cheung https://orcid.org/0000-0002-9871-9448
Examples
# Load a sample data set
dat <- test_x_1_w_1_v_1_cat1_n_500
# Do a moderated regression by lm
lm_raw <- lm(dv ~ iv*mod + v1 + cat1, dat)
summary(lm_raw)
#>
#> Call:
#> lm(formula = dv ~ iv * mod + v1 + cat1, data = dat)
#>
#> Residuals:
#> Min 1Q Median 3Q Max
#> -2146.0 -431.9 -25.0 411.2 2309.3
#>
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) 308.767 4075.066 0.076 0.9396
#> iv 52.760 271.242 0.195 0.8459
#> mod 5.127 40.772 0.126 0.9000
#> v1 -12.760 10.174 -1.254 0.2104
#> cat1gp2 -158.673 71.834 -2.209 0.0276 *
#> cat1gp3 -43.166 75.283 -0.573 0.5666
#> iv:mod 3.416 2.709 1.261 0.2080
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Residual standard error: 665 on 493 degrees of freedom
#> Multiple R-squared: 0.6352, Adjusted R-squared: 0.6307
#> F-statistic: 143 on 6 and 493 DF, p-value: < 2.2e-16
#>
out <- cond_effect(lm_raw, x = iv, w = mod)
print(out, t_ci = TRUE)
#> The effects of iv on dv, conditional on mod:
#>
#> Level mod iv Effect S.E. t p Sig CI.Lo(t) CI.Hi(t)
#> High 105.436 412.911 20.827 19.826 0.000 *** 371.991 453.831
#> Medium 100.395 395.693 14.684 26.948 0.000 *** 366.843 424.543
#> Low 95.354 378.474 19.249 19.662 0.000 *** 340.654 416.293
#>
#> [CI.Lo(t), CI.Hi(t)] shows the 95% confidence interval(s) based on t
#> statistics.
#>
#>
#> The regression model:
#>
#> dv ~ iv * mod + v1 + cat1
#>
#> Interpreting the levels of mod:
#>
#> Level mod % Below From Mean (in SD)
#> High 105.436 84.00 1.00
#> Medium 100.395 47.40 0.00
#> Low 95.354 17.20 -1.00
#>
#> - % Below: The percent of cases equal to or less than a level.
#> - From Mean (in SD): Distance of a level from the mean, in standard
#> deviation (+ve above, -ve below).
confint(out)
#> 2.5 % 97.5 %
#> High 371.9915 453.8309
#> Medium 366.8425 424.5426
#> Low 340.6543 416.2935
lm_std <- std_selected(lm_raw, to_center = ~ iv + mod, to_scale = ~ iv + mod)
# Alternative: use to_standardize as a shortcut
# lm_std <- std_selected(lm_raw, to_standardize = ~ iv + mod)
out <- cond_effect(lm_std, x = iv, w = mod)
print(out, t_ci = TRUE)
#> The effects of iv on dv, conditional on mod:
#>
#> Level mod iv Effect S.E. t p Sig CI.Lo(t) CI.Hi(t)
#> High 1.000 841.990 42.468 19.826 0.000 *** 758.548 925.431
#> Medium 0.000 806.878 29.942 26.948 0.000 *** 748.048 865.708
#> Low -1.000 771.767 39.251 19.662 0.000 *** 694.647 848.887
#>
#> [CI.Lo(t), CI.Hi(t)] shows the 95% confidence interval(s) based on t
#> statistics.
#> They should not be used when one or more variables are standardized.
#>
#> The regression model:
#>
#> dv ~ iv * mod + v1 + cat1
#>
#> Interpreting the levels of mod:
#>
#> Level mod % Below From Mean (in SD)
#> High 1.000 84.00 1.00
#> Medium 0.000 47.40 0.00
#> Low -1.000 17.20 -1.00
#>
#> - % Below: The percent of cases equal to or less than a level.
#> - From Mean (in SD): Distance of a level from the mean, in standard
#> deviation (+ve above, -ve below).
#>
#> Note:
#>
#> - The variable(s) iv, mod is/are standardized.
#> - One or more variables are scaled by SD or standardized. OLS standard
#> errors and confidence intervals may be biased for their coefficients.
#> Please use `cond_effect_boot()`.
confint(out)
#> 2.5 % 97.5 %
#> High 758.5480 925.4311
#> Medium 748.0485 865.7078
#> Low 694.6468 848.8866
# Categorical moderator
lm_cat <- lm(dv ~ iv*cat1 + v1, dat)
summary(lm_cat)
#>
#> Call:
#> lm(formula = dv ~ iv * cat1 + v1, data = dat)
#>
#> Residuals:
#> Min 1Q Median 3Q Max
#> -2457.67 -506.03 3.46 437.95 2738.18
#>
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) 979.20 459.19 2.132 0.0335 *
#> iv 391.03 29.25 13.370 <2e-16 ***
#> cat1gp2 -845.49 584.85 -1.446 0.1489
#> cat1gp3 259.55 620.76 0.418 0.6760
#> v1 -19.36 11.00 -1.759 0.0791 .
#> iv:cat1gp2 43.28 38.44 1.126 0.2608
#> iv:cat1gp3 -21.22 41.08 -0.516 0.6058
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Residual standard error: 721.3 on 493 degrees of freedom
#> Multiple R-squared: 0.5707, Adjusted R-squared: 0.5655
#> F-statistic: 109.2 on 6 and 493 DF, p-value: < 2.2e-16
#>
out <- cond_effect(lm_cat, x = iv, w = cat1)
print(out, t_ci = TRUE)
#> The effects of iv on dv, conditional on cat1:
#>
#> Level cat1 iv Effect S.E. t p Sig CI.Lo(t) CI.Hi(t)
#> gp1 gp1 391.026 29.246 13.370 0.000 *** 333.564 448.487
#> gp2 gp2 434.302 24.937 17.416 0.000 *** 385.305 483.299
#> gp3 gp3 369.807 28.858 12.815 0.000 *** 313.107 426.506
#>
#> [CI.Lo(t), CI.Hi(t)] shows the 95% confidence interval(s) based on t
#> statistics.
#>
#>
#> The regression model:
#>
#> dv ~ iv * cat1 + v1
confint(out)
#> 2.5 % 97.5 %
#> gp1 333.5643 448.4873
#> gp2 385.3048 483.2985
#> gp3 313.1071 426.5064