R/update_stdmod.R
update.std_selected.Rd
This should be used only to update the call to lm()
,
not to the call to std_selected()
or std_selected_boot()
.
# S3 method for std_selected
update(object, formula., ..., evaluate = TRUE)
The output of the class std_selected()
.
Changes to the formula.
Optional arguments to be changed.
Whether the call will be evaluated.
If evaluate
= TRUE
, it returns the updated fitted object,
otherwise, the updated call.
Although supported, it is not recommended to update an analysis
processed by std_selected()
or std_selected_boot()
. It is
recommended to call lm()
again and pass the output to
std_selected()
or std_selected_boot()
.
# Load a sample data set
dat <- test_x_1_w_1_v_1_cat1_n_500
head(dat)
#> dv iv mod v1 cat1
#> 1 4946.751 12.76737 96.85621 11.756899 gp1
#> 2 6635.081 14.89097 106.25696 11.371237 gp2
#> 3 6060.708 15.24101 97.85852 9.377471 gp2
#> 4 7240.781 16.65782 104.80266 10.508913 gp1
#> 5 5775.759 11.84448 95.85912 15.093480 gp3
#> 6 7725.783 16.31270 100.20561 3.442902 gp2
# 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
#>
# Standardize all variables except for categorical variables.
# Interaction terms are formed after standardization.
lm_std <- std_selected(lm_raw, to_scale = ~ .,
to_center = ~ .)
summary(lm_std)
#>
#> Selected variable(s) are centered by mean and/or scaled by SD
#> - Variable(s) centered: dv iv mod v1 cat1
#> - Variable(s) scaled: dv iv mod v1 cat1
#>
#> centered_by scaled_by Note
#> dv 6565.02965 1094.244465 Standardized (mean = 0, SD = 1)
#> iv 15.01576 2.039154 Standardized (mean = 0, SD = 1)
#> mod 100.39502 5.040823 Standardized (mean = 0, SD = 1)
#> v1 10.13884 2.938932 Standardized (mean = 0, SD = 1)
#> cat1 NA NA Nonnumeric
#>
#> Note:
#> - Categorical variables will not be centered or scaled even if requested.
#>
#> Call:
#> lm(formula = dv ~ iv * mod + v1 + cat1, data = dat_mod)
#>
#> Residuals:
#> Min 1Q Median 3Q Max
#> -1.96117 -0.39474 -0.02285 0.37579 2.11040
#>
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) 0.06458 0.04825 1.338 0.1814
#> iv 0.73738 0.02736 26.948 <2e-16 ***
#> mod 0.25990 0.02737 9.496 <2e-16 ***
#> v1 -0.03427 0.02733 -1.254 0.2104
#> cat1gp2 -0.14501 0.06565 -2.209 0.0276 *
#> cat1gp3 -0.03945 0.06880 -0.573 0.5666
#> iv:mod 0.03209 0.02545 1.261 0.2080
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Residual standard error: 0.6077 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
#>
#> Note:
#> - Estimates and their statistics are based on the data after mean-centering, scaling, or standardization.
# Update the model
lm_std2 <- update(lm_std, . ~ . - v1)
summary(lm_std2)
#>
#> Selected variable(s) are centered by mean and/or scaled by SD
#> - Variable(s) centered: dv iv mod cat1
#> - Variable(s) scaled: dv iv mod cat1
#>
#> centered_by scaled_by Note
#> dv 6565.02965 1094.244465 Standardized (mean = 0, SD = 1)
#> iv 15.01576 2.039154 Standardized (mean = 0, SD = 1)
#> mod 100.39502 5.040823 Standardized (mean = 0, SD = 1)
#> cat1 NA NA Nonnumeric
#>
#> Note:
#> - Categorical variables will not be centered or scaled even if requested.
#>
#> Call:
#> lm(formula = dv ~ iv + mod + cat1 + iv:mod, data = dat_mod)
#>
#> Residuals:
#> Min 1Q Median 3Q Max
#> -1.96126 -0.40630 -0.02305 0.36505 2.15456
#>
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) 0.06461 0.04828 1.338 0.1814
#> iv 0.73731 0.02738 26.930 <2e-16 ***
#> mod 0.26188 0.02734 9.579 <2e-16 ***
#> cat1gp2 -0.14338 0.06567 -2.183 0.0295 *
#> cat1gp3 -0.04186 0.06881 -0.608 0.5433
#> iv:mod 0.03402 0.02542 1.338 0.1814
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Residual standard error: 0.608 on 494 degrees of freedom
#> Multiple R-squared: 0.634, Adjusted R-squared: 0.6303
#> F-statistic: 171.1 on 5 and 494 DF, p-value: < 2.2e-16
#>
#> Note:
#> - Estimates and their statistics are based on the data after mean-centering, scaling, or standardization.