Analyze the Degree of Ambiguity across Research Design Variations
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).
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))
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. |
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.
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:
|
Thiem, Alrik | : development, documentation, programming, testing |
Alrik Thiem (Personal Website; ResearchGate Website)
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.
## 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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.