Statistical Implicative Analysis (SIA)
This function is a simplified implementation of statistical implicative analysis (Gras & Kuntz, 2008) which aims at deriving implications X_i \rightarrow X_j. This means that solving item i implies solving item j.
sia.sirt(dat, significance=0.85)
dat |
Data frame with dichotomous item responses |
significance |
Minimum implicative probability for inclusion of an arrow in the graph. The probability can be interpreted as a kind of significance level, i.e. higher probabilities indicate more probable implications. |
The test statistic for selection an implicative relation follows Gras and Kuntz (2008). Transitive arrows (implications) are removed from the graph. If some implications are symmetric, then only the more probable implication will be retained.
A list with following entries
adj.matrix |
Adjacency matrix of the graph. Transitive and symmetric implications (arrows) have been removed. |
adj.pot |
Adjacency matrix including all powers, i.e. all direct and indirect paths from item i to item j. |
adj.matrix.trans |
Adjacency matrix including transitive arrows. |
desc |
List with descriptive statistics of the graph. |
desc.item |
Descriptive statistics for each item. |
impl.int |
Implication intensity (probability) as the basis for deciding the significance of an arrow |
impl.t |
Corresponding t values of |
impl.significance |
Corresponding p values (significancies)
of |
conf.loev |
Confidence according to Loevinger (see Gras & Kuntz, 2008). This values are just conditional probabilities P( X_j=1|X_i=1). |
graph.matr |
Matrix containing all arrows. Can be used for example for the Rgraphviz package. |
graph.edges |
Vector containing all edges of the graph, e.g. for the Rgraphviz package. |
igraph.matr |
Matrix containing all arrows for the igraph package. |
igraph.obj |
An object of the graph for the igraph package. |
For an implementation of statistical implicative analysis in the C.H.I.C. (Classification Hierarchique, Implicative et Cohesitive) software.
Gras, R., & Kuntz, P. (2008). An overview of the statistical implicative analysis (SIA) development. In R. Gras, E. Suzuki, F. Guillet, & F. Spagnolo (Eds.). Statistical Implicative Analysis (pp. 11-40). Springer, Berlin Heidelberg.
See also the IsingFit package for calculating a graph for dichotomous item responses using the Ising model.
############################################################################# # EXAMPLE 1: SIA for data.read ############################################################################# data(data.read) dat <- data.read res <- sirt::sia.sirt(dat, significance=.85 ) #*** plot results with igraph package library(igraph) plot( res$igraph.obj ) #, vertex.shape="rectangle", vertex.size=30 ) ## Not run: #*** plot results with qgraph package miceadds::library_install(qgraph) qgraph::qgraph( res$adj.matrix ) #*** plot results with Rgraphviz package # Rgraphviz can only be obtained from Bioconductor # If it should be downloaded, select TRUE for the following lines if (FALSE){ source("http://bioconductor.org/biocLite.R") biocLite("Rgraphviz") } # define graph grmatrix <- res$graph.matr res.graph <- new("graphNEL", nodes=res$graph.edges, edgemode="directed") # add edges RR <- nrow(grmatrix) for (rr in 1:RR){ res.graph <- Rgraphviz::addEdge(grmatrix[rr,1], grmatrix[rr,2], res.graph, 1) } # define cex sizes and shapes V <- length(res$graph.edges) size2 <- rep(16,V) shape2 <- rep("rectangle", V ) names(shape2) <- names(size2) <- res$graph.edges # plot graph Rgraphviz::plot( res.graph, nodeAttrs=list("fontsize"=size2, "shape"=shape2) ) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.