ambiguity {QCApro} | R Documentation |
Analyze the Degree of Ambiguity across Research Design Variations
Description
This evaluation function computes the degree of ambiguity across variations of a reference research design. It has initially been programmed for Baumgartner and Thiem (2017).
Usage
ambiguity(data, outcome = c(""), neg.out = c(FALSE), exo.facs = c(""),
tuples = c(), incl.cut1 = c(1), incl.cut0 = c(1), sol.type = c("ps"),
row.dom = c(FALSE), min.dis = c(FALSE))
Arguments
data |
A set of configurational data as processable by the
|
outcome |
A character vector of outcomes. |
neg.out |
A logical vector specifying whether to negate outcomes. |
exo.facs |
A character vector with the names of the exogenous factors. |
tuples |
A numeric vector of tuples of exogenous factors to be created
from |
incl.cut1 |
The minimum sufficiency inclusion score for an output function value of "1". |
incl.cut0 |
The maximum sufficiency inclusion score for an output function value of "0". |
sol.type |
A character vector specifying the solution types to be generated. |
row.dom |
A logical vector imposing row dominance as a constraint on the solution to eliminate dominated inessential prime implicants. |
min.dis |
A logical vector imposing minimal disjunctivity as a constraint on the solution to eliminate models with more prime implicants than the model(s) with the fewest prime implicants. |
Details
This evaluation function computes the degree of ambiguity across variations of a reference design by recording the number of models for each design solution. It has initially been programmed for Baumgartner and Thiem (2015).
The argument data
requires a set of configurational data as processable by
the eQMC
function.
The argument outcome
is a character vector, specifying the outcome(s) to be analyzed, either in curly-bracket notation (e.g., O{value}
) if the outcome is from a multivalent (or a bivalent) factor, or in upper-case notation if the outcome is from a bivalent factor (e.g., O
as a short-cut for O{1}
). Outcomes from multivalent crisp-set factors always require curly-bracket notation. Outcomes can be single levels of factors not simultaneously passed to exo.facs
. At least one outcome has to be specified.
The argument neg.out
requires a logical vector of length one or two, whose values, which must not be duplicated, specify whether to negate the outcomes determined by outcome
. If an element in outcome
is a level from a multivalent factor, neg.out = TRUE
makes the disjunction of all remaining levels the outcome. Possible values for neg.out
include FALSE
, TRUE
, FALSE, TRUE
and TRUE, FALSE
.
The argument exo.facs
is a character vector with the names of the exogenous factors. If omitted, all factors in data
are used except that/those of the outcome/s given in outcome
. and tuples
specifies a numeric vector of tuples of exogenous factors to be created from exo.facs
.
Minterms with an inclusion score of at least incl.cut1
are coded positive (OUT = "1"
), minterms with an inclusion score below incl.cut1
but with at least incl.cut0
are coded as a contradiction (OUT = "C"
), and minterms with an inclusion score below incl.cut0
are coded negative (OUT = "0"
). If inc .cut0
is not explicitly changed, it is set equal to incl.cut1
.
The argument sol.type
requires a character vector specifying the solution types to be generated. For example, c("ps", "cs")
means parsimonious and conservative solution type.
The argument row.dom
requires a logical vector, and controls whether the principle of row dominance is imposed as a constraint on the solution. An inessential prime implicant P
dominates another Q
if all configurations covered by Q
are also covered by P
, but they are not interchangeable (cf. McCluskey 1956, 1425; McCluskey 1965, 164-152). If row dominance is operative, models that contain dominated prime implicants will not be returned.
The argument min.dis
requires a logical vector, and controls whether the principle of minimal disjunctivity is imposed as a constraint on the solution (McCluskey 1965, 12 -126). If minimal disjunctivity is operative, models that contain more than the number of prime implicants of the model(s) with the fewest prime implicants will not be returned.
Value
A list with the following two main components:
tuples |
A list of all tuples of exogenous factors of the respective size
taken from all factors given in |
n.models |
A list of matrices giving the number of models in each solution
for each design. The coding of labels has the following structure:
|
Contributors (alphabetical)
Thiem, Alrik | : development, documentation, programming, testing |
Author(s)
Alrik Thiem (Personal Website; ResearchGate Website)
References
Baumgartner, Michael, and Alrik Thiem. 2017. “Model Ambiguities in Configurational Comparative Research.” Sociological Methods & Research 46 (4):954-87. DOI: 10.1177/0049124115610351.
McCluskey, Edward J. 1956. “Minimization of Boolean Functions.” Bell Systems Technical Journal 35 (6):1417-44. DOI: 10.1002/j.1538-7305.1956.tb03835.x.
McCluskey, Edward J. 1965. Introduction to the Theory of Switching Circuits. Princeton: Princeton University Press.
See Also
Examples
## Not run:
# load dataset
data(d.tumorscreen)
# designs: outcomes HPF and LPF; all 3 to 5-tuples of exogenous factors
designs <- ambiguity(d.tumorscreen, outcome = c("HPF", "LPF"),
neg.out = c(FALSE, TRUE), tuples = 3:5)
# share of solutions with ambiguities
mapply(function (x) round(colSums((x > 1)) / nrow(x), 2), designs$n.models)
## End(Not run)