conCovOpt_utils | R Documentation |
reprodAssign
generates the output values of disjunctive normal forms (DNFs) reaching con-cov optima. DNFbuild
builds a DNF realizing a targeted con-cov optimum; it only works for crisp-set and multi-value data (cf. Baumgartner and Ambuehl 2021).
reprodAssign(x, outcome = names(x), id = xi$id) DNFbuild(x, outcome = names(x), reduce = c("ereduce", "rreduce", "none"), id = xi$id, maxCombs = 1e7)
x |
An object produced by |
outcome |
A character string specifying one outcome value in |
id |
An integer vector referring to the identifier of the targeted con-cov optimum or optima. |
reduce |
A character string: if |
maxCombs |
Passed to |
An atomic CNA model (asf) accounts for the behavior of the outcome
in terms of a redundancy-free DNF. reprodAssign
generates the output values such a DNF has to return in order to reach a con-cov optimum stored in an object of class 'selectMax
'. If the data stored in attr(x, "configTable")
are crisp-set or multi-value, DNFbuild
builds the DNFs realizing the targeted con-cov optimum. (For fuzzy-set data an error is returned.) If reduce = "ereduce"
(default), all redundancy-free DNFs are built using ereduce
; if reduce = "rreduce"
(more computationally efficient), one (randomly selected) redundancy-free DNF is built using rreduce
; if reduce = "none"
, the non-reduced canonical DNF is returned.
The argument id
allows for selecting a targeted con-cov optimum via its identifier (see examples below).
reprodAssign
: A matrix of scores.
DNFbuild
: A Boolean formula in disjunctive normal form (DNF).
Baumgartner, Michael and Mathias Ambuehl. 2021. “Optimizing Consistency and Coverage in Configurational Causal Modeling.” Sociological Methods & Research.
doi:10.1177/0049124121995554.
conCovOpt
, selectMax
, condTbl
# CS data, d.educate cco1 <- conCovOpt(d.educate) best1 <- selectMax(cco1) reprodAssign(best1, outcome = "E") DNFbuild(best1, outcome = "E") DNFbuild(best1, outcome = "E", reduce = FALSE) # canonical DNF DNFbuild(best1, outcome = "E", reduce = "ereduce") # all redundancy-free DNFs DNFbuild(best1, outcome = "E", reduce = "rreduce") # one redundancy-free DNF DNFbuild(best1, outcome = "E", reduce = "none") # canonical DNF # Simulated mv data datMV <- data.frame( A = c(3,2,1,1,2,3,2,2,2,1,1,2,3,2,2,2,1,2,3,3,3,1,1,1,3,1,2,1,2,3,3,2,2,2,1,2,2,3,2,1,2,1,3,3), B = c(1,2,3,2,1,1,2,1,2,2,3,1,1,1,2,3,1,3,3,3,1,1,3,2,2,1,1,3,3,2,3,1,2,1,2,2,1,1,2,2,3,3,3,3), C = c(1,3,3,3,1,1,1,2,2,3,3,1,1,2,2,2,3,1,1,2,1,2,2,3,3,1,2,2,2,3,2,1,1,2,2,2,1,1,1,2,2,1,1,2), D = c(3,1,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,1,1,1,1,1,2,2,2,2,2,3,1,1,1,1,1,2,2,2,2,2,3,3,3), E = c(3,2,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3) ) # Apply conCovOpt and selectMax. (cco2 <- conCovOpt(datMV)) (best2 <- selectMax(cco2)) # Apply DNFbuild to build the redundancy-free DNFs reaching best2. (formula1 <- DNFbuild(best2, outcome = "D=3")) # Both DNFs in formula1 reache the con-cov score stored in best2 for outcome "D=3". condTbl(paste0(formula1, "<-> D=3"), datMV) # Build only one redundancy-free DNF reaching best2. DNFbuild(best2, outcome = "D=3", reduce = "rreduce") # Any factor value in datMV can be treated as outcome. (formula2 <- DNFbuild(best2, outcome = "E=3", reduce = "rreduce")) condTbl(paste0(formula2, "<-> E=3"), datMV) # Any con-cov optimum in cco2 can be targeted via its identifier. (formula3 <- DNFbuild(best2, outcome = "E=3", id = 508)) condTbl(paste0(formula3, "<-> E=3"), datMV) # Simulated fs data datFS <- data.frame( A = c(.73, .85, .94, .36, .73, .79, .39, .82, .15, .12, .67, .27, .3), B = c(.21, .03, .91, .64, .39, .12, .06, .7, .73, .15, .88, .73, .36), C = c(.61, 0, .61, 1, .94, .15, .88, .27, .12, .12, .27, .15, .15), D = c(.64, .67, .3, .06, .33, .03, .76, .94, .67, .76, .18, .27, .36), E = c(.91, .94, .67, .85, .73, .79, .24, .09, .03, .21, .33, .36, .27) ) # Apply conCovOpt and selectMax. (cco3 <- conCovOpt(datFS, outcome = "E")) (best3 <- selectMax(cco3)) # Apply reprodAssign. reprodAssign(best3, outcome = "E") # Select a con-cov optimum in cco3 via its identifier. reprodAssign(best3, outcome = "E", id = 252) # DNFbuild does not work for fs data; it generates an error. try(DNFbuild(best3, outcome = "E"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.