Learn R Programming

sirt (version 4.1-15)

sia.sirt: Statistical Implicative Analysis (SIA)

Description

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\).

Usage

sia.sirt(dat, significance=0.85)

Value

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.int

impl.significance

Corresponding \(p\) values (significancies) of impl.int

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.

Arguments

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.

Details

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.

References

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

See also the IsingFit package for calculating a graph for dichotomous item responses using the Ising model.

Examples

Run this code
#############################################################################
# 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 )

if (FALSE) {
#*** 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) )
}

Run the code above in your browser using DataLab