superSubset: Find Superset and Subset Relations

Description Usage Arguments Details Value Contributors Author(s) References See Also Examples

Description

This helper function finds all combinations of conditions among all possible combinations that optimize the fulfilment of the specified criteria for a superset (necessity) or subset (sufficiency) relation to the outcome.

Usage

1
2
3
superSubset(data, outcome = "", neg.out = FALSE, exo.facs = c(""), 
            relation = "nec", incl.cut = 1, cov.cut = 0, 
            use.letters = FALSE, ...)

Arguments

data

A dataset of bivalent or multivalent crisp-set factor or bivalent fuzzy-set variables.

outcome

The name of the outcome.

neg.out

Logical, use negation of outcome.

exo.facs

A character vector with the names of the exogenous factors.

relation

The relation to outcome, either "nec", "suf", "necsuf" or "sufnec".

incl.cut

The minimal inclusion score of the relation.

cov.cut

The minimal coverage score of the relation.

use.letters

Logical, use simple letters instead of original factor names.

...

Other arguments for backward compatibility.

Details

This helper function to the testTESA function returns a list of those of the ∏_{j = 1}^{k}{(p_{j} + 1) - 1} potential value combinations, where p_{j} is the number of values for exogenous variable j and k is the number of exogenous variables, that define minimal condition sets for the specified inclusion (consistency) and coverage score cut-offs with respect to an outcome.

If relation = "nec" (default), the function finds (combinations of) conditions that are supersets of (necessary for) the outcome. It starts with an initiation set, which is comprised of all ∑_{j = 1}^{k}{p_{j}} simple condition sets. This set is expanded by incrementally forming set-theoretic intersections of a higher order as long as incl.cut and cov.cut are still met (the former always takes precedence over the latter). If suitable conjunctions exist, they will be returned, together with all their lower-order conjuncts.

If none of the simple conditions or their negations in the initiation set passes incl.cut, disjunctions instead of conjunctions are formed until incl.cut and cov.cut will have been met. Only the disjunctions thus found will be returned.

If relation = "suf", the function finds (combinations of) conditions that are subsets of (sufficient for) the outcome. The initiation set is comprised of all ∏_{j = 1}^{k}{p_{j}} intersections of order k. This set is reduced by incrementally forming intersections of a lower order as long as incl.cut and cov.cut are still met. Only the intersections of the lowest order will be printed. For more details, see Thiem and Dusa (2013). For relation = "necsuf" and relation = "sufnec", incl.cut will be applied to each relation and cov.cut has no effect.

The argument outcome specifies the outcome. Outcomes from multivalent variables require curly-bracket notation (X{value}).

The logical argument neg.out controls whether outcome is to be used or its negation. If outcome is from a multivalent crisp-set factor, neg.out = TRUE has the effect that the disjunctions of all remaining values becomes the new outcome.

The argument exo.facs specifies the names of the exogenous factors. If omitted, all factors in data are used except the factor of which outcome is a level.

If factors are already named with single letters, the argument use.letters has no effect.

Value

A list with the following two main components:

incl.cov

A data frame with the parameters of fit.

coms

A data frame with the combination membership scores.

Contributors

Dusa, Adrian: development, programming
Thiem, Alrik: development, documentation, testing

Author(s)

Alrik Thiem (Personal Website; ResearchGate Website)

References

Ragin, Charles C. 2009. “Qualitative Comparative Analysis Using Fuzzy Sets (fsQCA).” In Configurational Comparative Methods: Qualitative Comparative Analysis (QCA) and Related Techniques, ed. B. Rihoux and C. C. Ragin. London: Sage Publications, pp. 87-121.

Schneider, Carsten Q., and Claudius Wagemann. 2013. “Doing Justice to Logical Remainders in QCA: Moving Beyond the Standard Analysis.” Political Research Quarterly 66 (1):211-20. DOI: 10.1177/1065912912468269.

Thiem, Alrik. 2015. Standards of Good Practice and the Methodology of Necessary Conditions in Qualitative Comparative Analysis: A Critical View on Schneider and Wagemann's Theory-Guided/Enhanced Standard Analysis. COMPASSS WP Series 2015-83. URL: http://www.compasss.org/wpseries/Thiem2015.pdf.

See Also

testTESA

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Schneider and Wagemann (2013, 212), using data from Ragin 
# (2009, 95), only present G and L as minimally necessary conditions
#-------------------------------------------------------------------

LIP <- data.frame(
 D = c(0.81,0.99,0.58,0.16,0.58,0.98,0.89,0.04,0.07,
       0.72,0.34,0.98,0.02,0.01,0.01,0.03,0.95,0.98),
 U = c(0.12,0.89,0.98,0.07,0.03,0.03,0.79,0.09,0.16,
       0.05,0.10,1.00,0.17,0.02,0.03,0.30,0.13,0.99),
 L = c(0.99,0.98,0.98,0.98,0.99,0.99,0.99,0.13,0.88,
       0.98,0.41,0.99,0.59,0.01,0.17,0.09,0.99,0.99),
 I = c(0.73,1.00,0.90,0.01,0.08,0.81,0.96,0.36,0.07,
       0.01,0.47,0.94,0.00,0.11,0.00,0.21,0.67,1.00),
 G = c(0.43,0.98,0.91,0.91,0.58,0.95,0.31,0.43,0.13,
       0.95,0.58,0.99,0.00,0.01,0.84,0.20,0.91,0.98),
 S = c(0.05,0.95,0.89,0.12,0.77,0.95,0.05,0.06,0.42,
       0.92,0.05,0.95,0.12,0.05,0.21,0.06,0.95,0.95)
)

rownames(LIP) <- c("AT","BE","CZ","EE","FI","FR","DE","GR","HU",
                   "IE","IT","NL","PL","PT","RO","ES","SE","UK")
                   
rownames(superSubset(LIP, outcome = "S", incl.cut = 0.9)$incl.cov)

# with mv-data from Hartmann and Kemmerzell (2010)
#-------------------------------------------------
data(d.partybans)
head(d.partybans)

HK <- superSubset(d.partybans, outcome = "PB", 
  exo.facs = c("C", "F", "T", "V"), incl.cut = 0.75)
HK

# combination membership scores for all cases (only first four 
# combinations and first ten lines displayed)
HK$coms[1:10, 1:4, drop = FALSE]

AlrikThiem/QCApro documentation built on May 5, 2019, 4:55 a.m.