sia.sirt {sirt} | R Documentation |
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 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.
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 |
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 |
impl.significance |
Corresponding |
conf.loev |
Confidence according to Loevinger (see Gras & Kuntz, 2008).
This values are just conditional probabilities |
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. |
Note
For an implementation of statistical implicative analysis in the C.H.I.C. (Classification Hierarchique, Implicative et Cohesitive) software.
See https://ardm.eu/partenaires/logiciel-danalyse-de-donnees-c-h-i-c/.
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
#############################################################################
# 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)