R: Intraclass correlation used to assess variability of...

icc_beta {iccbeta} | R Documentation

## Intraclass correlation used to assess variability of lower-order relationships across higher-order processes/units.

### Description

A function and vignettes for computing the intraclass correlation described in Aguinis & Culpepper (2015). iccbeta quantifies the share of variance in an outcome variable that is attributed to heterogeneity in slopes due to higher-order processes/units.

### Usage

    icc_beta(x, ...)

    ## S3 method for class 'lmerMod'
    icc_beta(x, ...)

    ## Default S3 method:
    icc_beta(x, l2id, T, vy, ...)

### Arguments

`x` | A `lmer` model object or a design matrix with no missing values.
`...` | Additional parameters...
`l2id` | A `vector` that identifies group membership. The vector must be coded as a sequence of integers from 1 to J, the number of groups.
`T` | A `matrix` of the estimated variance-covariance matrix of a lmer model fit.
`vy` | The variance of the outcome variable.

### Value

A `list` with:

- `J`

- `means`

- `XcpXc`

- `Nj`

- `rho_beta`

### Author(s)

Steven Andrew Culpepper

### References

Aguinis, H., & Culpepper, S.A. (2015). An expanded decision making procedure for examining cross-level interaction effects with multilevel modeling. Organizational Research Methods. Available at: http://hermanaguinis.com/pubs.html

### See Also

`lme4::lmer()`, `model.matrix()`, `lme4::VarCorr()`, `RLRsim::LRTSim()`, iccbeta::Hofmann, and iccbeta::simICCdata

### Examples

    ## Not run:

    if(requireNamespace("lme4") && requireNamespace("RLRsim")){

    ## Example 1: Simulated Data Example from Aguinis & Culpepper (2015) ----
    data(simICCdata)
    library("lme4")

    # Computing icca
    vy <- var(simICCdata$Y)
    lmm0 <- lmer(Y ~ (1 | l2id), data = simICCdata, REML = FALSE)
    VarCorr(lmm0)$l2id[1, 1]/vy

    # Create simICCdata2
    grp_means = aggregate(simICCdata[c('X1', 'X2')], simICCdata['l2id'], mean)
    colnames(grp_means)[2:3] = c('m_X1', 'm_X2')
    simICCdata2 = merge(simICCdata, grp_means, by='l2id')

    # Estimating random slopes model
    lmm1  <- lmer(Y ~ I(X1 - m_X1) + I(X2 - m_X2) +
                     (I(X1 - m_X1) + I(X2 - m_X2) | l2id),
                  data = simICCdata2, REML = FALSE)

    ## iccbeta calculation on `lmer` object
    icc_beta(lmm1)

    ## Manual specification of iccbeta

    # Extract components from model.
    X <- model.matrix(lmm1)
    p <- ncol(X)
    T1  <- VarCorr(lmm1)$l2id[1:p,1:p]

    # Note: vy was computed under "icca"

    # Computing iccb
    # Notice '+1' because icc_beta assumes l2ids are from 1 to 30.
    icc_beta(X, simICCdata2$l2id + 1, T1, vy)$rho_beta

    ## Example 2: Hofmann et al. (2000)   ----

    data(Hofmann)
    library("lme4")

    # Random-Intercepts Model
    lmmHofmann0 = lmer(helping ~ (1|id), data = Hofmann)
    vy_Hofmann = var(Hofmann[,'helping'])

    # Computing icca
    VarCorr(lmmHofmann0)$id[1,1]/vy_Hofmann

    # Estimating Group-Mean Centered Random Slopes Model, no level 2 variables
    lmmHofmann1 <- lmer(helping ~ mood_grp_cent + (mood_grp_cent |id),
                        data = Hofmann, REML = FALSE)

    ## Automatic calculation of iccbeta using the lmer model
    amod = icc_beta(lmmHofmann1)

    ## Manual calculation of iccbeta

    X_Hofmann <- model.matrix(lmmHofmann1)
    P <- ncol(X_Hofmann)
    T1_Hofmann <- VarCorr(lmmHofmann1)$id[1:P,1:P]

    # Computing iccb
    bmod = icc_beta(X_Hofmann, Hofmann[,'id'], T1_Hofmann, vy_Hofmann)$rho_beta

    # Performing LR test
    library("RLRsim")
    lmmHofmann1a <- lmer(helping ~ mood_grp_cent + (1 |id),
                         data = Hofmann, REML = FALSE)
    obs.LRT <- 2*(logLik(lmmHofmann1) - logLik(lmmHofmann1a))[1]
    X <- getME(lmmHofmann1,"X")
    Z <- t(as.matrix(getME(lmmHofmann1,"Zt")))
    sim.LRT <- LRTSim(X, Z, 0, diag(ncol(Z)))
    (pval <- mean(sim.LRT > obs.LRT))
    } else {
     stop("Please install packages `RLRsim` and `lme4` to run the above example.")
    }

    ## End(Not run)

[Package iccbeta version 1.2.0 Index]