Learn R Programming

lavaan (version 0.7-2)

lavTables: lavaan frequency tables

Description

Frequency tables for categorical variables and related statistics.

Usage

lavTables(object, dimension = 2L, type = "cells", categorical = NULL,
    group = NULL, statistic = "default", g2_min = 3, x2_min = 3,
    p_value = FALSE, output = "data.frame", pattern_as_string = TRUE, ...)

Value

If output = "data.frame", the output is presented as a data.frame where each row is either a cell, a table, or a response pattern, depending on the "type" argument. If output = "table" (only for two-way tables), the output is a list of tables (if type = "cells") in which each list element corresponds to a pairwise table, or a single table per group (if

type = "table"). In both cases, the table entries are determined by the (single) statistic argument.

Arguments

object

Either a data.frame, or an object of class lavaan.

dimension

Integer. If 0L, display all response patterns. If 1L, display one-dimensional (one-way) tables; if 2L, display two-dimensional (two-way or pairwise) tables. For the latter, the information shown per row can be changed: if type = "cells", each row is a cell in a pairwise table; if type = "table", each row is a table.

type

If "cells", display information for each cell in the (one-way or two-way) table. If "table", display information per table. If "pattern", display response patterns (implying "dimension = 0L").

categorical

Only used if object is a data.frame. Specify variables that need to be treated as categorical.

group

Only used if object is a data.frame. Specify a grouping variable.

statistic

Either a character string, or a vector of character strings requesting one or more statistics for each cell, pattern or table. Always available are X2 and G2 for the Pearson and LRT based goodness-of-fit statistics. A distinction is made between the unrestricted and restricted model. The statistics based on the former carry the suffix *.un, as in X2.un and G2.un. If object is a data.frame, only the unrestricted versions of the statistics are available. For one-way tables, additional statistics are the thresholds (th.un and th). For two-way tables and type = "table", the following statistics are available: X2, G2, cor (polychoric correlation), RMSEA and the corresponding unrestricted versions (X2.un etc). Additional statistics are G2.average, G2.nlarge and G2.plarge statistics based on the cell values G2: G2.average is the average of the G2 values in each cell of the two-way table; G2.nlarge is the number of cells with a G2 value larger than g2_min, and G2.plarge is the proportion of cells with a G2 value larger than g2_min. A similar set of statistics based on X2 is also available. If "default", the selection of statistics (if any) depends on the dim and type arguments, and on whether the object is a data.frame or a fitted lavaan object.

g2_min

Numeric. All cells with a G2 statistic larger than this number are considered `large', as reflected in the (optional) "G2.plarge" and "G2.nlarge" columns.

x2_min

Numeric. All cells with a X2 statistic larger than this number are considered `large', as reflected in the (optional) "X2.plarge" and "X2.nlarge" columns.

p_value

Logical. If "TRUE", p-values are computed for requested statistics (eg G2 or X2) if possible.

output

If "data.frame", the output is presented as a data.frame where each row is either a cell, a table, or a response pattern, depending on the "type" argument. If "table", the output is presented as a table (or matrix) or a list of tables. Only a single statistic can be shown in this case, and if the statistic is empty, the observed frequencies are shown.

pattern_as_string

Logical. Only used for response patterns (dimension = 0L). If "TRUE", response patterns are displayed as a compact string. If "FALSE", as many columns as observed variables are displayed.

...

To support old argument names.

References

Joreskog, K.G. & Moustaki, I. (2001). Factor analysis of ordinal variables: A comparison of three approaches. Multivariate Behavioral Research, 36, 347-387.

See Also

varTable.

Examples

Run this code
HS9 <- HolzingerSwineford1939[,c("x1","x2","x3","x4","x5",
                                 "x6","x7","x8","x9")]
HSbinary <- as.data.frame( lapply(HS9, cut, 2, labels=FALSE) )

# using the data only
lavTables(HSbinary, dim = 0L, categorical = names(HSbinary))
lavTables(HSbinary, dim = 1L, categorical = names(HSbinary), stat=c("th.un"))
lavTables(HSbinary, dim = 2L, categorical = names(HSbinary), type = "table")

# fit a model
HS.model <- ' visual  =~ x1 + x2 + x3
              textual =~ x4 + x5 + x6
              speed   =~ x7 + x8 + x9 '

fit <- cfa(HS.model, data=HSbinary, ordered=names(HSbinary))


lavTables(fit, 1L)
lavTables(fit, 2L, type="cells")
lavTables(fit, 2L, type="table", stat=c("cor.un", "G2", "cor"))
lavTables(fit, 2L, type="table", output="table", stat="X2")

Run the code above in your browser using DataLab