sea.entailment {ldsa}R Documentation

Extract Pairwise Entailments from a Response Pattern Set


Extracts the entailments from x satisfying a given error threshold.


sea.entailment(x, thresh, measure = c("rate", "z-score", 
    "binom.p"), req.str = TRUE, sea.table.precomp = NULL)


x a data.frame with observations on rows; missing data is permitted.
thresh error threshold to employ when extracting entailments; only rules with error rates less than thresh are retained.
measure error measure to use; rate for absolute error rates, z-score for z-scores, or binom.p for p-values under an exact Binomial test.
req.str logical; should implications be required to satisfy White's “strong relationship” rule to be included?
sea.table.precomp an object of class sea.table, computed on x (optional).


The pairwise entailments for a pair of binary variables, X and Y, can be parameterized as follows:

Note that implication is directed, while exclusion and coexhaustion are undirected. Thus, for each pair of variables, there are two implications, an exclusion, and a coexhaustion to be considered (hopefully not simultaneously!). The sea.entailment seeks to identify rules of this kind within x, by examining the frequency tables for all pairs of variables for violations (as described above). If measure=="rate", violations are evaluated in terms of observed rates within the associated excluded cells. If measure=="z-score", z-scores for the excluded cell frequencies (based on an asymptotic normal model conditional on row and column marginals) are used; measure=="binom.p" instead uses the p-value value for a one-sided exact Binomial test of the conditional probability of error (given the precondition), versus the baseline probability due to the associated marginals. In all three cases, lower scores reflect a better “fit” to the data. For each variable pair, all dyadic entailments whose error scores are less than thresh are retained, with implications being additionally subject to White's strength condition iff req.str==TRUE. The entailments are stored in two-column form, with the first and second columns containing the numbers of the X and Y variables for the relationships (respectively).

Note that sea.entailment does not check the resulting structure for completeness, nor for logical consistency. Thus, it is possible that additional entailments can be deduced from those extracted from the data – or, alternately, that no pattern of responses can satisfy the entailment set. Such results can occur, for instance, when a loose criterion is used to extract entailments from noisy data. For this reason, sea.entailment is generally employed in conjunction with additional, statistical analyses (e.g., confirmatory latent class analysis).


An object of class sea.entailment, containing the following elements:

dep.imp A two-column matrix, whose rows contain the variable numbers for each respective implication
dep.excl A two-column matrix, whose rows contain the variable numbers for each respective exclusion
dep.coex A two-column matrix, whose rows contain the variable numbers for each respective coexhaustion
ndep.imp The number of implicative relationships
ndep.excl The number of exclusive relationships
ndep.coex The number of coexhaustive relationships
vars A vector of variable names (in the order used elsewhere in this function)
thresh The thresh argument
req.str The req.str argument
n The number of rows of x
measure The measure argument


Carter T. Butts


White, D.R.; Burton, M.; and Brudner, L. 1977. “Entailment Theory and Method: A Cross-Cultural Analysis of the Sexual Division of Labor.” Behavior Science Research, 12:1-24.

See Also

sea.enumerate,, sea.table, binom.test

[Package ldsa version 0.1-2 Index]