| pof {QCApro} | R Documentation |
Compute Set-Relational Parameters of Fit
Description
This function computes inclusion (consistency) and coverage scores.
Usage
pof(setms, outcome, data, neg.out = FALSE, relation = "suf",
inf.test = "", incl.cut1 = 0.75, incl.cut0 = 0.5, ...)
is.pof(x)
Arguments
setms |
A data frame of set membership scores, or a matrix of implicants, or a vector of implicant matrix line numbers. |
outcome |
The name of the outcome. |
data |
The working data set. |
neg.out |
Logical, use negation of |
relation |
The set relation to |
inf.test |
The inference-statistical test to be performed (currently only
|
incl.cut1 |
The upper inclusion cut-off against which the
empirical inclusion score is tested if |
incl.cut0 |
The lower inclusion cut-off against which the
empirical inclusion score is tested if |
... |
Other arguments (not used in this function). |
x |
An object of class "pof". |
Details
The argument setms specifies a data frame of set membership scores,
where set refers to any kind of set, including simple sets, combinations
returned by the superSubset function (coms), prime implicants returned
by the eQMC function (pims), or any other compound set.
The function also accepts a matrix of implicants with the level representation
of created by the mintermMatrix function, or even a corresponding vector
of implicant matrix line numbers.
The argument outcome specifies the outcome 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 must be single
levels of factors not simultaneously passed to exo.facs.
The logical argument neg.out controls whether outcome is to be
analyzed or its negation. If outcome is a level from a multivalent factor,
neg.out = TRUE causes the disjunction of all remaining levels to become
the outcome to be analyzed.
The argument inf.test provides functionality for adjudicating between
rival hypotheses on the basis of inference-statistical tests. Currently, only an
exact binomial test ("binom") is available, which requires the data to
contain only bivalent or multivalent crisp-set factors. Two one-tailed tests
are performed. The null hypothesis with respect to incl.cut1 is that the
empirical inclusion score of each element in setms is not lower than the
upper critical inclusion cut-off provided in incl.cut1. The null hypothesis
with respect to incl.cut0 is that the empirical inclusion score of each
element in setms is not higher than the lower critical inclusion cut-off
provided in incl.cut0.
Contributors
| Dusa, Adrian | : programming |
| Thiem, Alrik | : development, documentation, testing |
Author(s)
Alrik Thiem (Personal Website; ResearchGate Website)
References
Emmenegger, Patrick. 2011. “Job Security Regulations in Western Democracies: A Fuzzy Set Analysis.” European Journal of Political Research 50 (3):336-64. DOI: 10.1111/j.1475-6765.2010.01933.x.
Hartmann, Christof, and Joerg Kemmerzell. 2010. “Understanding Variations in Party Bans in Africa.” Democratization 17 (4):642-65. DOI: 10.1080/13510347.2010.491189.
Krook, Mona Lena. 2010. “Women's Representation in Parliament: A Qualitative Comparative Analysis.” Political Studies 58 (5):886-908. DOI: 10.1111/j.1467-9248.2010.00833.x.
See Also
Examples
# csQCA using Krook (2010)
#-------------------------
data(d.represent)
head(d.represent)
# solution with details
KRO <- eQMC(d.represent, outcome = "WNP", incl.cut1 = 0.9,
details = TRUE)
KRO
# exact binomial tests of sufficiency inclusion
pof(KRO$pims, outcome = "WNP", d.represent, inf.test = c("binom", 0.1),
incl.cut1 = 0.75, incl.cut0 = 0.5)
# fsQCA using Emmenegger (2011)
#------------------------------
data(d.jobsecurity)
head(d.jobsecurity)
# solution with details
EMM.sol <- eQMC(d.jobsecurity, outcome = "JSR", incl.cut1 = 0.9,
details = TRUE)
EMM.sol
# are the model prime implicants also sufficient for the negation
# of the outcome?
pof(EMM.sol$pims, outcome = "JSR", d.jobsecurity, neg.out = TRUE)
# are the negations of the model prime implicants also sufficient
# for the outcome?
pof(1 - EMM.sol$pims, outcome = "JSR", d.jobsecurity)
# parameters of fit for matrix of implicants;
# "-1" is the placeholder for an eliminated variable;
# e.g.: R*p*V and S*c*L*P*v
# "S" "C" "L" "R" "P" "V"
# [,1] [,2] [,3] [,4] [,5] [,6]
#[1,] -1 -1 -1 1 0 1
#[2,] 1 0 1 -1 1 0
mat <- matrix(c(-1,-1,-1, 1, 0, 1,
1, 0, 1,-1, 1, 0), nrow = 2, byrow = TRUE)
pof(mat, outcome = "JSR", d.jobsecurity)
# or even vectors of line numbers from the implicant matrix
pof(c(43, 57), "JSR", d.jobsecurity)
# mv-data from Hartmann and Kemmerzell (2010)
#-------------------------------------------
data(d.partybans)
head(d.partybans)
# parameters of fit for several mv-expressions
expr <- c("C{1}", "F{2}", "T{2}", "T{1}*V{0}")
dat <- data.frame(ifelse(d.partybans$C == 1, 1, 0),
ifelse(d.partybans$F == 2, 1, 0),
ifelse(d.partybans$T == 2, 1, 0),
ifelse(d.partybans$T == 1 & d.partybans$V == 0, 1, 0))
colnames(dat) <- expr
pof(dat, outcome = "PB{1}", d.partybans)
# miscellaneous
#--------------
# parameters of fit for a data frame
x <- data.frame(A = c(1,1,1,0,1), B = c(1,1,1,0,1),
C = c(0,1,0,0,1), D = c(0,0,1,0,1),
O = c(1,1,1,0,1))
pof(x[, -5], outcome = "O", x)
# for a single column from that data frame
pof(x$A, x$O)
# for multiple columns from that data frame
pof(x[, 1:2], outcome = "O", x)