Learn R Programming

sirt (version 1.5-0)

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)

Arguments

dat
Data frame with dochotomous 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.

Value

  • A list with following entries
  • adj.matrixAdjacency matrix of the graph. Transitive and symmetric implications (arrows) have been removed.
  • adj.potAdjacency matrix including all potencies, i.e. all direct and indirect paths from item $i$ to item $j$.
  • adj.matrix.transAdjacency matrix including transitive arrows.
  • descList with descriptive statistics of the graph.
  • desc.itemDescriptive statistics for each item.
  • impl.intImplication intensity (probability) as the basis for deciding the significance of an arrow
  • impl.tCorresponding $t$ values of impl.int
  • impl.significanceCorresponding $p$ values (significancies) of impl.int
  • conf.loevConfidence according to Loevinger (see Gras & Kuntz, 2008). This values are just conditional probabilities $P( X_j=1|X_i=1)$.
  • graph.matrMatrix containing all arrows. Can be used for example for the Rgraphviz package.
  • graph.edgesVector containing all edges of the graph, e.g. for the Rgraphviz package.
  • igraph.matrMatrix containing all arrows for the igraph package.
  • igraph.objAn object of the graph for the igraph package.

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 <- sia.sirt(dat , significance=.85 )

#*** plot results with igraph package
library(igraph)
plot( res$igraph.obj ) # , vertex.shape="rectangle" , vertex.size=30 )

#*** plot results with qgraph package
library(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