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

Description Usage Arguments Value Author(s) References See Also Examples

View source: R/RcppExports.R

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

1
icc_beta(X, l2id, T, vy)

Arguments

X

The design matrix of fixed effects from a lmer model.

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

vy The variance of the dependent variable.

Author(s)

Steven A 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

lmer, model.matrix, VarCorr, LRTSim, Hofmann, simICCdata

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
## Not run: 

if(requireNamespace("lme4") && requireNamespace("RLRsim")){ 
# 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)
X <- model.matrix(lmm1)
p <- ncol(X)
T1  <- VarCorr(lmm1)$l2id[1:p,1:p]

# Computing iccb
# Notice '+1' because icc_beta assumes l2ids are from 1 to 30.
icc_beta(X, simICCdata2$l2id+1, T1, vy)$rho_beta
            
# Hofmann et al. (2000) Example
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)
X_Hofmann <- model.matrix(lmmHofmann1)
P <- ncol(X_Hofmann)
T1_Hofmann <- VarCorr(lmmHofmann1)$id[1:P,1:P]

# Computing iccb
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)  

iccbeta documentation built on Aug. 23, 2017, 1:02 a.m.