gCD {faoutlier} | R Documentation |
Generalized Cook's Distance
Description
Compute generalize Cook's distances (gCD's) for exploratory and confirmatory FA. Can return DFBETA matrix if requested. If mirt is used, then the values will be associated with the unique response patterns instead.
Usage
gCD(data, model, progress = TRUE, ...)
## S3 method for class 'gCD'
print(x, ncases = 10, DFBETAS = FALSE, ...)
## S3 method for class 'gCD'
plot(
x,
y = NULL,
main = "Generalized Cook Distance",
type = c("p", "h"),
ylab = "gCD",
...
)
Arguments
data |
matrix or data.frame |
model |
if a single numeric number declares number of factors to extract in
exploratory factor analysis (requires complete dataset, i.e., no missing).
If |
progress |
logical; display the progress of the computations in the console? |
... |
additional parameters to be passed |
x |
an object of class |
ncases |
number of extreme cases to display |
DFBETAS |
logical; return DFBETA matrix in addition to gCD? If TRUE, a list is returned |
y |
a |
main |
the main title of the plot |
type |
type of plot to use, default displays points and lines |
ylab |
the y label of the plot |
Details
Note that gCD
is not limited to confirmatory factor analysis and
can apply to nearly any model being studied
where detection of influential observations is important.
Author(s)
Phil Chalmers rphilip.chalmers@gmail.com
References
Chalmers, R. P. & Flora, D. B. (2015). faoutlier: An R Package for Detecting Influential Cases in Exploratory and Confirmatory Factor Analysis. Applied Psychological Measurement, 39, 573-574. doi: 10.1177/0146621615597894
Flora, D. B., LaBrish, C. & Chalmers, R. P. (2012). Old and new ideas for data screening and assumption testing for exploratory and confirmatory factor analysis. Frontiers in Psychology, 3, 1-21. doi: 10.3389/fpsyg.2012.00055
See Also
LD
, obs.resid
, robustMD
, setCluster
Examples
## Not run:
#run all gCD functions using multiple cores
setCluster()
#Exploratory
nfact <- 3
(gCDresult <- gCD(holzinger, nfact))
(gCDresult.outlier <- gCD(holzinger.outlier, nfact))
plot(gCDresult)
plot(gCDresult.outlier)
#-------------------------------------------------------------------
#Confirmatory with sem
model <- sem::specifyModel()
F1 -> Remndrs, lam11
F1 -> SntComp, lam21
F1 -> WrdMean, lam31
F2 -> MissNum, lam41
F2 -> MxdArit, lam52
F2 -> OddWrds, lam62
F3 -> Boots, lam73
F3 -> Gloves, lam83
F3 -> Hatchts, lam93
F1 <-> F1, NA, 1
F2 <-> F2, NA, 1
F3 <-> F3, NA, 1
(gCDresult2 <- gCD(holzinger, model))
(gCDresult2.outlier <- gCD(holzinger.outlier, model))
plot(gCDresult2)
plot(gCDresult2.outlier)
#-------------------------------------------------------------------
#Confirmatory with lavaan
model <- 'F1 =~ Remndrs + SntComp + WrdMean
F2 =~ MissNum + MxdArit + OddWrds
F3 =~ Boots + Gloves + Hatchts'
(gCDresult2 <- gCD(holzinger, model, orthogonal=TRUE))
(gCDresult2.outlier <- gCD(holzinger.outlier, model, orthogonal=TRUE))
plot(gCDresult2)
plot(gCDresult2.outlier)
# categorical data with mirt
library(mirt)
data(LSAT7)
dat <- expand.table(LSAT7)
model <- mirt.model('F = 1-5')
result <- gCD(dat, model)
plot(result)
mod <- mirt(dat, model)
res <- residuals(mod, type = 'exp')
cbind(res, gCD=round(result$gCD, 3))
## End(Not run)