Latent Class Analysis (LCA)
lca.RdA latent class analysis with k classes is performed on the data
given by x.
Arguments
- x
Either a data matrix of binary observations or a list of patterns as created by
countpattern- k
Number of classes used for LCA
- niter
Number of Iterations
- matchdata
If
TRUEandxis a data matrix, the class membership of every data point is returned, otherwise the class membership of every pattern is returned.- verbose
If
TRUEsome output is printed during the computations.
Value
An object of class "lca" is returned, containing
- w
Probabilities to belong to each class
- p
Probabilities of a `1' for each variable in each class
- matching
Depending on
matchdataeither the class membership of each pattern or of each data point- logl, loglsat
The LogLikelihood of the model and of the saturated model
- bic, bicsat
The BIC of the model and of the saturated model
- chisq
Pearson's Chisq
- lhquot
Likelihood quotient of the model and the saturated model
- n
Number of data points.
- np
Number of free parameters.
Examples
## Generate a 4-dim. sample with 2 latent classes of 500 data points each.
## The probabilities for the 2 classes are given by type1 and type2.
type1 <- c(0.8, 0.8, 0.2, 0.2)
type2 <- c(0.2, 0.2, 0.8, 0.8)
x <- matrix(runif(4000), nrow = 1000)
x[1:500,] <- t(t(x[1:500,]) < type1) * 1
x[501:1000,] <- t(t(x[501:1000,]) < type2) * 1
l <- lca(x, 2, niter=5)
print(l)
#> LCA-Result
#> ----------
#>
#> Datapoints: 1000
#> Classes: 2
#> Probability of classes
#> [1] 0.63 0.37
#> Itemprobabilities
#> 1 2 3 4
#> 1 0.29 0.28 0.72 0.71
#> 2 0.84 0.88 0.09 0.14
summary(l)
#> LCA-Result
#> ----------
#>
#> Datapoints: 1000
#> Classes: 2
#>
#> Goodness of fit statistics:
#>
#> Number of parameters, estimated model: 9
#> Number of parameters, saturated model: 15
#> Log-Likelihood, estimated model: -2488.88
#> Log-Likelihood, saturated model: -2471.916
#>
#> Information Criteria:
#>
#> BIC, estimated model: 5039.931
#> BIC, saturated model: 5047.448
#>
#> TestStatistics:
#>
#> Likelihood ratio: 33.9292 p-val: 6.942523e-06
#> Pearson Chi^2: 34.62364 p-val: 5.096803e-06
#> Degress of freedom: 6
p <- predict(l, x)
table(p, c(rep(1,500),rep(2,500)))
#>
#> p 1 2
#> 1 85 492
#> 2 415 8