Skip to contents

Estimate Multiple Correlation Coefficients (R-Squared and Adjusted R-Squared) and Generate the Corresponding Sampling Distribution Using the Monte Carlo Method

Usage

RSqMC(object, alpha = c(0.05, 0.01, 0.001))

Arguments

object

Object of class mc, that is, the output of the MC() function.

alpha

Numeric vector. Significance level \(\alpha\).

Value

Returns an object of class betamc which is a list with the following elements:

call

Function call.

args

Function arguments.

thetahatstar

Sampling distribution of \(R^{2}\) and \(\bar{R}^{2}\).

vcov

Sampling variance-covariance matrix of \(R^{2}\) and \(\bar{R}^{2}\).

est

Vector of estimated \(R^{2}\) and \(\bar{R}^{2}\).

fun

Function used ("RSqMC").

Details

R-squared (\(R^{2}\)) and adjusted R-squared (\(\bar{R}^{2}\)) are derived from each randomly generated vector of parameter estimates. Confidence intervals are generated by obtaining percentiles corresponding to \(100(1 - \alpha)\%\) from the generated sampling distribution of \(R^{2}\) and \(\bar{R}^{2}\), where \(\alpha\) is the significance level.

See also

Other Beta Monte Carlo Functions: BetaMC(), DeltaRSqMC(), DiffBetaMC(), MC(), MCMI(), PCorMC(), SCorMC()

Author

Ivan Jacob Agaloos Pesigan

Examples

# Data ---------------------------------------------------------------------
data("nas1982", package = "betaMC")

# Fit Model in lm ----------------------------------------------------------
object <- lm(QUALITY ~ NARTIC + PCTGRT + PCTSUPP, data = nas1982)

# MC -----------------------------------------------------------------------
mc <- MC(
  object,
  R = 100, # use a large value e.g., 20000L for actual research
  seed = 0508
)

# RSqMC --------------------------------------------------------------------
out <- RSqMC(mc, alpha = 0.05)

## Methods -----------------------------------------------------------------
print(out)
#> Call:
#> RSqMC(object = mc, alpha = 0.05)
#> 
#> R-squared and adjusted R-squared
#> type = "hc3"
#>        est     se   R   2.5%  97.5%
#> rsq 0.8045 0.0607 100 0.6502 0.8774
#> adj 0.7906 0.0651 100 0.6252 0.8687
summary(out)
#> Call:
#> RSqMC(object = mc, alpha = 0.05)
#> 
#> R-squared and adjusted R-squared
#> type = "hc3"
#>        est     se   R   2.5%  97.5%
#> rsq 0.8045 0.0607 100 0.6502 0.8774
#> adj 0.7906 0.0651 100 0.6252 0.8687
coef(out)
#>       rsq       adj 
#> 0.8045263 0.7905638 
vcov(out)
#>             rsq         adj
#> rsq 0.003688164 0.003951604
#> adj 0.003951604 0.004233861
confint(out, level = 0.95)
#>         2.5 %    97.5 %
#> rsq 0.6501979 0.8774177
#> adj 0.6252121 0.8686618