CRAN Package Check Results for Package QCA

Last updated on 2021-09-26 20:49:18 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 3.13 46.10 84.37 130.47 OK
r-devel-linux-x86_64-debian-gcc 3.13 36.10 59.70 95.80 ERROR
r-devel-linux-x86_64-fedora-clang 3.13 175.10 ERROR
r-devel-linux-x86_64-fedora-gcc 3.13 156.12 ERROR
r-devel-windows-x86_64 3.13 84.00 82.00 166.00 NOTE
r-devel-windows-x86_64-gcc10-UCRT 3.13 OK
r-patched-linux-x86_64 3.13 47.94 81.96 129.90 OK
r-patched-solaris-x86 3.13 176.20 NOTE
r-release-linux-x86_64 3.13 43.35 81.36 124.71 OK
r-release-macos-arm64 3.13 NOTE
r-release-macos-x86_64 3.13 NOTE
r-release-windows-ix86+x86_64 3.13 188.00 136.00 324.00 NOTE
r-oldrel-macos-x86_64 3.13 NOTE
r-oldrel-windows-ix86+x86_64 3.13 147.00 98.00 245.00 NOTE

Check Details

Version: 3.13
Check: examples
Result: ERROR
    Running examples in ‘QCA-Ex.R’ failed
    The error most likely occurred in:
    
    > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
    > ### Name: minimize
    > ### Title: Minimize a truth table
    > ### Aliases: minimize eqmcc
    > ### Keywords: functions
    >
    > ### ** Examples
    >
    >
    > # -----
    > # Lipset binary crisp data
    >
    > # the associated truth table
    > ttLC <- truthTable(LC, SURV, sort.by = "incl, n", show.cases = TRUE)
    > ttLC
    
     OUT: output value
     n: number of cases in configuration
     incl: sufficiency inclusion score
     PRI: proportional reduction in inconsistency
    
     DEV URB LIT IND STB OUT n incl PRI cases
    32 1 1 1 1 1 1 4 1.000 1.000 BE,CZ,NL,UK
    22 1 0 1 0 1 1 2 1.000 1.000 FI,IE
    24 1 0 1 1 1 1 2 1.000 1.000 FR,SE
     1 0 0 0 0 0 0 3 0.000 0.000 GR,PT,ES
     2 0 0 0 0 1 0 2 0.000 0.000 IT,RO
     5 0 0 1 0 0 0 2 0.000 0.000 HU,PL
     6 0 0 1 0 1 0 1 0.000 0.000 EE
    23 1 0 1 1 0 0 1 0.000 0.000 AU
    31 1 1 1 1 0 0 1 0.000 0.000 DE
    
    >
    > # conservative solution (Rihoux & De Meur 2009, p.57)
    > cLC <- minimize(ttLC)
    > cLC
    
    M1: DEV*~URB*LIT*STB + DEV*LIT*IND*STB <-> SURV
    
    >
    > # view the Venn diagram for the associated truth table
    > library(venn)
    > venn(cLC)
    >
    > # add details and case names
    > minimize(ttLC, details = TRUE)
    
    M1: DEV*~URB*LIT*STB + DEV*LIT*IND*STB <-> SURV
    
     inclS PRI covS covU cases
    -------------------------------------------------------------------
    1 DEV*~URB*LIT*STB 1.000 1.000 0.500 0.250 FI,IE; FR,SE
    2 DEV*LIT*IND*STB 1.000 1.000 0.750 0.500 FR,SE; BE,CZ,NL,UK
    -------------------------------------------------------------------
     M1 1.000 1.000 1.000
    
    >
    > # negating the outcome
    > ttLCn <- truthTable(LC, ~SURV, sort.by = "incl, n", show.cases = TRUE)
    > minimize(ttLCn)
    
    M1: ~DEV*~URB*~IND + DEV*LIT*IND*~STB <-> ~SURV
    
    >
    > # parsimonious solution, positive output
    > pLC <- minimize(ttLC, include = "?", details = TRUE)
    > pLC
    
    M1: DEV*STB <-> SURV
    
     inclS PRI covS covU cases
    -----------------------------------------------------------------
    1 DEV*STB 1.000 1.000 1.000 - FI,IE; FR,SE; BE,CZ,NL,UK
    -----------------------------------------------------------------
     M1 1.000 1.000 1.000
    
    >
    > # the associated simplifying assumptions
    > pLC$SA
    $M1
     DEV URB LIT IND STB
    18 1 0 0 0 1
    20 1 0 0 1 1
    26 1 1 0 0 1
    28 1 1 0 1 1
    30 1 1 1 0 1
    
    >
    > # parsimonious solution, negative output
    > pLCn <- minimize(ttLCn, include = "?", details = TRUE)
    > pLCn
    
    M1: ~DEV + ~STB <-> ~SURV
    
     inclS PRI covS covU cases
    ---------------------------------------------------------------
    1 ~DEV 1.000 1.000 0.800 0.300 GR,PT,ES; IT,RO; HU,PL; EE
    2 ~STB 1.000 1.000 0.700 0.200 GR,PT,ES; HU,PL; AU; DE
    ---------------------------------------------------------------
     M1 1.000 1.000 1.000
    
    >
    >
    > # -----
    > # Lipset multi-value crisp data (Cronqvist & Berg-Schlosser 2009, p.80)
    >
    > # truth table, conditions all columns from DEV to IND
    > # note the sequence operator ":"
    > ttLM <- truthTable(LM, SURV, conditions = DEV:IND,
    + sort.by = "incl", show.cases = TRUE)
    >
    > # conservative solution, positive output
    > minimize(ttLM, details = TRUE)
    
    M1: DEV[2]*LIT[1]*IND[1] + DEV[1]*URB[0]*LIT[1]*IND[0] -> SURV[1]
    
     inclS PRI covS covU cases
    ---------------------------------------------------------------------------
    1 DEV[2]*LIT[1]*IND[1] 1.000 1.000 0.625 0.625 FR,SE; BE,NL,UK
    2 DEV[1]*URB[0]*LIT[1]*IND[0] 1.000 1.000 0.250 0.250 FI,IE
    ---------------------------------------------------------------------------
     M1 1.000 1.000 0.875
    
    >
    > # parsimonious solution, positive output
    > minimize(ttLM, include = "?", details = TRUE)
    
    M1: DEV[2] + DEV[1]*IND[0] -> SURV[1]
    
     inclS PRI covS covU cases
    -------------------------------------------------------------
    1 DEV[2] 1.000 1.000 0.625 0.625 FR,SE; BE,NL,UK
    2 DEV[1]*IND[0] 1.000 1.000 0.250 0.250 FI,IE
    -------------------------------------------------------------
     M1 1.000 1.000 0.875
    
    >
    > # negate the outcome
    > ttLMn <- truthTable(LM, ~SURV, conditions = DEV:IND,
    + sort.by = "incl", show.cases = TRUE)
    >
    > # conservative solution, negative output
    > minimize(ttLMn, details = TRUE)
    
    M1: DEV[0]*URB[0]*IND[0] + DEV[1]*URB[0]*LIT[1]*IND[1] -> ~SURV[1]
    
     inclS PRI covS covU
    ----------------------------------------------------------
    1 DEV[0]*URB[0]*IND[0] 1.000 1.000 0.800 0.800
    2 DEV[1]*URB[0]*LIT[1]*IND[1] 1.000 1.000 0.100 0.100
    ----------------------------------------------------------
     M1 1.000 1.000 0.900
    
     cases
    -------------------------------------
    1 DEV[0]*URB[0]*IND[0] GR,IT,PT,RO,ES; EE,HU,PL
    2 DEV[1]*URB[0]*LIT[1]*IND[1] AU
    -------------------------------------
    
    >
    > # parsimonious solution, positive output
    > minimize(ttLMn, include = "?", details = TRUE)
    
    M1: DEV[0] + DEV[1]*URB[0]*IND[1] -> ~SURV[1]
    
     inclS PRI covS covU cases
    -----------------------------------------------------------------------------
    1 DEV[0] 1.000 1.000 0.800 0.800 GR,IT,PT,RO,ES; EE,HU,PL
    2 DEV[1]*URB[0]*IND[1] 1.000 1.000 0.100 0.100 AU
    -----------------------------------------------------------------------------
     M1 1.000 1.000 0.900
    
    >
    >
    > # -----
    > # Lipset fuzzy sets data (Ragin 2009, p.112)
    >
    > # truth table using a very low inclusion cutoff
    > ttLF <- truthTable(LF, SURV, incl.cut = 0.8,
    + sort.by = "incl", show.cases = TRUE)
    >
    > # conservative solution
    > minimize(ttLF, details = TRUE)
    
    M1: DEV*URB*LIT*IND*STB + DEV*~URB*LIT*~IND*STB -> SURV
    
     inclS PRI covS covU cases
    -----------------------------------------------------------------
    1 DEV*URB*LIT*IND*STB 0.904 0.886 0.454 0.393 BE,CZ,NL,UK
    2 DEV*~URB*LIT*~IND*STB 0.804 0.719 0.265 0.204 FI,IE
    -----------------------------------------------------------------
     M1 0.870 0.843 0.658
    
    >
    > # parsimonious solution
    > minimize(ttLF, include = "?", details = TRUE)
    
    M1: DEV*~IND + URB*STB -> SURV
    
     inclS PRI covS covU cases
    ----------------------------------------------------
    1 DEV*~IND 0.815 0.721 0.284 0.194 FI,IE
    2 URB*STB 0.874 0.845 0.520 0.430 BE,CZ,NL,UK
    ----------------------------------------------------
     M1 0.850 0.819 0.714
    
    >
    > # intermediate solution using directional expectations
    > minimize(ttLF, include = "?", details = TRUE,
    + dir.exp = c(DEV, URB, LIT, IND, STB))
    
    From C1P1:
    
    M1: DEV*URB*LIT*STB + DEV*LIT*~IND*STB -> SURV
    
     inclS PRI covS covU cases
    ------------------------------------------------------------
    1 DEV*URB*LIT*STB 0.901 0.879 0.468 0.378 BE,CZ,NL,UK
    2 DEV*LIT*~IND*STB 0.814 0.721 0.282 0.191 FI,IE
    ------------------------------------------------------------
     M1 0.866 0.839 0.660
    
    >
    > # directional expectations can also be specified usin a sequence
    > minimize(ttLF, include = "?", details = TRUE, dir.exp = DEV:STB)
    
    From C1P1:
    
    M1: DEV*URB*LIT*STB + DEV*LIT*~IND*STB -> SURV
    
     inclS PRI covS covU cases
    ------------------------------------------------------------
    1 DEV*URB*LIT*STB 0.901 0.879 0.468 0.378 BE,CZ,NL,UK
    2 DEV*LIT*~IND*STB 0.814 0.721 0.282 0.191 FI,IE
    ------------------------------------------------------------
     M1 0.866 0.839 0.660
    
    >
    >
    > # URB as a don't care condition (left unspecified) and
    > # experimentally, conjunctural directional expectations
    > minimize(ttLF, include = "?", details = TRUE,
    + dir.exp = c(DEV, STB, ~LIT*IND))
    
    From C1P1:
    
    M1: DEV*URB*STB + DEV*~IND*STB -> SURV
    
     inclS PRI covS covU cases
    --------------------------------------------------------
    1 DEV*URB*STB 0.901 0.879 0.468 0.378 BE,CZ,NL,UK
    2 DEV*~IND*STB 0.814 0.721 0.282 0.191 FI,IE
    --------------------------------------------------------
     M1 0.866 0.839 0.660
    
    >
    >
    > # -----
    > # Cebotari & Vink (2013, 2015)
    >
    > ttCVF <- truthTable(CVF, outcome = PROTEST, incl.cut = 0.8,
    + sort.by = "incl, n", show.cases = TRUE)
    >
    > pCVF <- minimize(ttCVF, include = "?", details = TRUE)
    > pCVF
    
    M1: ~NATPRIDE + DEMOC*GEOCON*POLDIS + (~DEMOC*ETHFRACT*POLDIS +
     DEMOC*ETHFRACT*GEOCON) -> PROTEST
    M2: ~NATPRIDE + DEMOC*GEOCON*POLDIS + (~DEMOC*ETHFRACT*POLDIS +
     DEMOC*ETHFRACT*~POLDIS) -> PROTEST
    M3: ~NATPRIDE + DEMOC*GEOCON*POLDIS + (DEMOC*ETHFRACT*GEOCON +
     ETHFRACT*GEOCON*POLDIS) -> PROTEST
    M4: ~NATPRIDE + DEMOC*GEOCON*POLDIS + (DEMOC*ETHFRACT*~POLDIS +
     ETHFRACT*GEOCON*POLDIS) -> PROTEST
    
    ---------------------------------------------------------------------------------
     inclS PRI covS covU (M1) (M2) (M3) (M4)
    ---------------------------------------------------------------------------------
    1 ~NATPRIDE 0.899 0.807 0.597 0.121 0.132 0.122 0.136 0.126
    2 DEMOC*GEOCON*POLDIS 0.906 0.805 0.342 0.065 0.065 0.070 0.065 0.065
    ---------------------------------------------------------------------------------
    3 ~DEMOC*ETHFRACT*POLDIS 0.842 0.718 0.299 0.000 0.040 0.040
    4 DEMOC*ETHFRACT*GEOCON 0.935 0.826 0.480 0.000 0.085 0.085
    5 DEMOC*ETHFRACT*~POLDIS 0.932 0.773 0.417 0.000 0.085 0.085
    6 ETHFRACT*GEOCON*POLDIS 0.869 0.786 0.365 0.005 0.045 0.045
    ---------------------------------------------------------------------------------
    
     cases
    --------------------------------
    3 ~NATPRIDE CrimRussiansUkr,RussiansUkraine; HungariansYugo,KosovoAlbanians;
     RussiansLatvia; BasquesSpain; AlbaniansFYROM
    4 DEMOC*GEOCON*POLDIS HungariansRom,CatholicsNIreland; AlbaniansFYROM; RussiansEstonia
    --------------------------------
    3 ~DEMOC*ETHFRACT*POLDIS HungariansYugo,KosovoAlbanians; GagauzMoldova
    4 DEMOC*ETHFRACT*GEOCON BasquesSpain; SerbsFYROM,CatalansSpain; AlbaniansFYROM; RussiansEstonia
    5 DEMOC*ETHFRACT*~POLDIS BasquesSpain; SerbsFYROM,CatalansSpain
    6 ETHFRACT*GEOCON*POLDIS HungariansYugo,KosovoAlbanians; GagauzMoldova; AlbaniansFYROM;
     RussiansEstonia
    --------------------------------
    
    >
    > # inspect the PI chart
    > pCVF$PIchart
    
     5 15 16 24 27 29 30 31 32
    ~NATPRIDE x x - - x x - x -
    ~DEMOC*ETHFRACT*POLDIS - x x - - - - - -
    DEMOC*ETHFRACT*GEOCON - - - - - x x x x
    DEMOC*ETHFRACT*~POLDIS - - - - - x x - -
    DEMOC*GEOCON*POLDIS - - - x - - - x x
    ETHFRACT*GEOCON*POLDIS - x x - - - - x x
    
    >
    > # DEMOC*ETHFRACT*~POLDIS is dominated by DEMOC*ETHFRACT*GEOCON
    > # using row dominance to solve the PI chart
    > pCVFrd <- minimize(ttCVF, include = "?", row.dom = TRUE, details = TRUE)
    >
    > # plot the prime implicants on the outcome
    > pims <- pCVFrd$pims
    >
    > par(mfrow = c(2, 2))
    > for(i in 1:4) {
    + XYplot(pims[, i], CVF$PROTEST, cex.axis = 0.6)
    + }
    >
    >
    >
    > # -----
    > # temporal QCA (Ragin & Strand 2008) serving the input as a dataset,
    > # which will automatically be passed to truthTable() as an intermediary
    > # step before the minimization
    >
    > minimize(RS, outcome = REC, details = TRUE)
    
    Error: The causal condition EBA is not numeric.
    
    Execution halted
Flavor: r-devel-linux-x86_64-debian-gcc

Version: 3.13
Check: installed package size
Result: NOTE
     installed size is 8.4Mb
     sub-directories of 1Mb or more:
     gui 1.7Mb
     libs 2.8Mb
     staticdocs 3.4Mb
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-windows-x86_64, r-patched-solaris-x86, r-release-macos-arm64, r-release-macos-x86_64, r-release-windows-ix86+x86_64, r-oldrel-macos-x86_64, r-oldrel-windows-ix86+x86_64

Version: 3.13
Check: examples
Result: ERROR
    Running examples in ‘QCA-Ex.R’ failed
    The error most likely occurred in:
    
    > ### Name: minimize
    > ### Title: Minimize a truth table
    > ### Aliases: minimize eqmcc
    > ### Keywords: functions
    >
    > ### ** Examples
    >
    >
    > # -----
    > # Lipset binary crisp data
    >
    > # the associated truth table
    > ttLC <- truthTable(LC, SURV, sort.by = "incl, n", show.cases = TRUE)
    > ttLC
    
     OUT: output value
     n: number of cases in configuration
     incl: sufficiency inclusion score
     PRI: proportional reduction in inconsistency
    
     DEV URB LIT IND STB OUT n incl PRI cases
    32 1 1 1 1 1 1 4 1.000 1.000 BE,CZ,NL,UK
    22 1 0 1 0 1 1 2 1.000 1.000 FI,IE
    24 1 0 1 1 1 1 2 1.000 1.000 FR,SE
     1 0 0 0 0 0 0 3 0.000 0.000 GR,PT,ES
     2 0 0 0 0 1 0 2 0.000 0.000 IT,RO
     5 0 0 1 0 0 0 2 0.000 0.000 HU,PL
     6 0 0 1 0 1 0 1 0.000 0.000 EE
    23 1 0 1 1 0 0 1 0.000 0.000 AU
    31 1 1 1 1 0 0 1 0.000 0.000 DE
    
    >
    > # conservative solution (Rihoux & De Meur 2009, p.57)
    > cLC <- minimize(ttLC)
    > cLC
    
    M1: DEV*~URB*LIT*STB + DEV*LIT*IND*STB <-> SURV
    
    >
    > # view the Venn diagram for the associated truth table
    > library(venn)
    > venn(cLC)
    >
    > # add details and case names
    > minimize(ttLC, details = TRUE)
    
    M1: DEV*~URB*LIT*STB + DEV*LIT*IND*STB <-> SURV
    
     inclS PRI covS covU cases
    -------------------------------------------------------------------
    1 DEV*~URB*LIT*STB 1.000 1.000 0.500 0.250 FI,IE; FR,SE
    2 DEV*LIT*IND*STB 1.000 1.000 0.750 0.500 FR,SE; BE,CZ,NL,UK
    -------------------------------------------------------------------
     M1 1.000 1.000 1.000
    
    >
    > # negating the outcome
    > ttLCn <- truthTable(LC, ~SURV, sort.by = "incl, n", show.cases = TRUE)
    > minimize(ttLCn)
    
    M1: ~DEV*~URB*~IND + DEV*LIT*IND*~STB <-> ~SURV
    
    >
    > # parsimonious solution, positive output
    > pLC <- minimize(ttLC, include = "?", details = TRUE)
    > pLC
    
    M1: DEV*STB <-> SURV
    
     inclS PRI covS covU cases
    -----------------------------------------------------------------
    1 DEV*STB 1.000 1.000 1.000 - FI,IE; FR,SE; BE,CZ,NL,UK
    -----------------------------------------------------------------
     M1 1.000 1.000 1.000
    
    >
    > # the associated simplifying assumptions
    > pLC$SA
    $M1
     DEV URB LIT IND STB
    18 1 0 0 0 1
    20 1 0 0 1 1
    26 1 1 0 0 1
    28 1 1 0 1 1
    30 1 1 1 0 1
    
    >
    > # parsimonious solution, negative output
    > pLCn <- minimize(ttLCn, include = "?", details = TRUE)
    > pLCn
    
    M1: ~DEV + ~STB <-> ~SURV
    
     inclS PRI covS covU cases
    ---------------------------------------------------------------
    1 ~DEV 1.000 1.000 0.800 0.300 GR,PT,ES; IT,RO; HU,PL; EE
    2 ~STB 1.000 1.000 0.700 0.200 GR,PT,ES; HU,PL; AU; DE
    ---------------------------------------------------------------
     M1 1.000 1.000 1.000
    
    >
    >
    > # -----
    > # Lipset multi-value crisp data (Cronqvist & Berg-Schlosser 2009, p.80)
    >
    > # truth table, conditions all columns from DEV to IND
    > # note the sequence operator ":"
    > ttLM <- truthTable(LM, SURV, conditions = DEV:IND,
    + sort.by = "incl", show.cases = TRUE)
    >
    > # conservative solution, positive output
    > minimize(ttLM, details = TRUE)
    
    M1: DEV[2]*LIT[1]*IND[1] + DEV[1]*URB[0]*LIT[1]*IND[0] -> SURV[1]
    
     inclS PRI covS covU cases
    ---------------------------------------------------------------------------
    1 DEV[2]*LIT[1]*IND[1] 1.000 1.000 0.625 0.625 FR,SE; BE,NL,UK
    2 DEV[1]*URB[0]*LIT[1]*IND[0] 1.000 1.000 0.250 0.250 FI,IE
    ---------------------------------------------------------------------------
     M1 1.000 1.000 0.875
    
    >
    > # parsimonious solution, positive output
    > minimize(ttLM, include = "?", details = TRUE)
    
    M1: DEV[2] + DEV[1]*IND[0] -> SURV[1]
    
     inclS PRI covS covU cases
    -------------------------------------------------------------
    1 DEV[2] 1.000 1.000 0.625 0.625 FR,SE; BE,NL,UK
    2 DEV[1]*IND[0] 1.000 1.000 0.250 0.250 FI,IE
    -------------------------------------------------------------
     M1 1.000 1.000 0.875
    
    >
    > # negate the outcome
    > ttLMn <- truthTable(LM, ~SURV, conditions = DEV:IND,
    + sort.by = "incl", show.cases = TRUE)
    >
    > # conservative solution, negative output
    > minimize(ttLMn, details = TRUE)
    
    M1: DEV[0]*URB[0]*IND[0] + DEV[1]*URB[0]*LIT[1]*IND[1] -> ~SURV[1]
    
     inclS PRI covS covU
    ----------------------------------------------------------
    1 DEV[0]*URB[0]*IND[0] 1.000 1.000 0.800 0.800
    2 DEV[1]*URB[0]*LIT[1]*IND[1] 1.000 1.000 0.100 0.100
    ----------------------------------------------------------
     M1 1.000 1.000 0.900
    
     cases
    -------------------------------------
    1 DEV[0]*URB[0]*IND[0] GR,IT,PT,RO,ES; EE,HU,PL
    2 DEV[1]*URB[0]*LIT[1]*IND[1] AU
    -------------------------------------
    
    >
    > # parsimonious solution, positive output
    > minimize(ttLMn, include = "?", details = TRUE)
    
    M1: DEV[0] + DEV[1]*URB[0]*IND[1] -> ~SURV[1]
    
     inclS PRI covS covU cases
    -----------------------------------------------------------------------------
    1 DEV[0] 1.000 1.000 0.800 0.800 GR,IT,PT,RO,ES; EE,HU,PL
    2 DEV[1]*URB[0]*IND[1] 1.000 1.000 0.100 0.100 AU
    -----------------------------------------------------------------------------
     M1 1.000 1.000 0.900
    
    >
    >
    > # -----
    > # Lipset fuzzy sets data (Ragin 2009, p.112)
    >
    > # truth table using a very low inclusion cutoff
    > ttLF <- truthTable(LF, SURV, incl.cut = 0.8,
    + sort.by = "incl", show.cases = TRUE)
    >
    > # conservative solution
    > minimize(ttLF, details = TRUE)
    
    M1: DEV*URB*LIT*IND*STB + DEV*~URB*LIT*~IND*STB -> SURV
    
     inclS PRI covS covU cases
    -----------------------------------------------------------------
    1 DEV*URB*LIT*IND*STB 0.904 0.886 0.454 0.393 BE,CZ,NL,UK
    2 DEV*~URB*LIT*~IND*STB 0.804 0.719 0.265 0.204 FI,IE
    -----------------------------------------------------------------
     M1 0.870 0.843 0.658
    
    >
    > # parsimonious solution
    > minimize(ttLF, include = "?", details = TRUE)
    
    M1: DEV*~IND + URB*STB -> SURV
    
     inclS PRI covS covU cases
    ----------------------------------------------------
    1 DEV*~IND 0.815 0.721 0.284 0.194 FI,IE
    2 URB*STB 0.874 0.845 0.520 0.430 BE,CZ,NL,UK
    ----------------------------------------------------
     M1 0.850 0.819 0.714
    
    >
    > # intermediate solution using directional expectations
    > minimize(ttLF, include = "?", details = TRUE,
    + dir.exp = c(DEV, URB, LIT, IND, STB))
    
    From C1P1:
    
    M1: DEV*URB*LIT*STB + DEV*LIT*~IND*STB -> SURV
    
     inclS PRI covS covU cases
    ------------------------------------------------------------
    1 DEV*URB*LIT*STB 0.901 0.879 0.468 0.378 BE,CZ,NL,UK
    2 DEV*LIT*~IND*STB 0.814 0.721 0.282 0.191 FI,IE
    ------------------------------------------------------------
     M1 0.866 0.839 0.660
    
    >
    > # directional expectations can also be specified usin a sequence
    > minimize(ttLF, include = "?", details = TRUE, dir.exp = DEV:STB)
    
    From C1P1:
    
    M1: DEV*URB*LIT*STB + DEV*LIT*~IND*STB -> SURV
    
     inclS PRI covS covU cases
    ------------------------------------------------------------
    1 DEV*URB*LIT*STB 0.901 0.879 0.468 0.378 BE,CZ,NL,UK
    2 DEV*LIT*~IND*STB 0.814 0.721 0.282 0.191 FI,IE
    ------------------------------------------------------------
     M1 0.866 0.839 0.660
    
    >
    >
    > # URB as a don't care condition (left unspecified) and
    > # experimentally, conjunctural directional expectations
    > minimize(ttLF, include = "?", details = TRUE,
    + dir.exp = c(DEV, STB, ~LIT*IND))
    
    From C1P1:
    
    M1: DEV*URB*STB + DEV*~IND*STB -> SURV
    
     inclS PRI covS covU cases
    --------------------------------------------------------
    1 DEV*URB*STB 0.901 0.879 0.468 0.378 BE,CZ,NL,UK
    2 DEV*~IND*STB 0.814 0.721 0.282 0.191 FI,IE
    --------------------------------------------------------
     M1 0.866 0.839 0.660
    
    >
    >
    > # -----
    > # Cebotari & Vink (2013, 2015)
    >
    > ttCVF <- truthTable(CVF, outcome = PROTEST, incl.cut = 0.8,
    + sort.by = "incl, n", show.cases = TRUE)
    >
    > pCVF <- minimize(ttCVF, include = "?", details = TRUE)
    > pCVF
    
    M1: ~NATPRIDE + DEMOC*GEOCON*POLDIS + (~DEMOC*ETHFRACT*POLDIS +
     DEMOC*ETHFRACT*GEOCON) -> PROTEST
    M2: ~NATPRIDE + DEMOC*GEOCON*POLDIS + (~DEMOC*ETHFRACT*POLDIS +
     DEMOC*ETHFRACT*~POLDIS) -> PROTEST
    M3: ~NATPRIDE + DEMOC*GEOCON*POLDIS + (DEMOC*ETHFRACT*GEOCON +
     ETHFRACT*GEOCON*POLDIS) -> PROTEST
    M4: ~NATPRIDE + DEMOC*GEOCON*POLDIS + (DEMOC*ETHFRACT*~POLDIS +
     ETHFRACT*GEOCON*POLDIS) -> PROTEST
    
    ---------------------------------------------------------------------------------
     inclS PRI covS covU (M1) (M2) (M3) (M4)
    ---------------------------------------------------------------------------------
    1 ~NATPRIDE 0.899 0.807 0.597 0.121 0.132 0.122 0.136 0.126
    2 DEMOC*GEOCON*POLDIS 0.906 0.805 0.342 0.065 0.065 0.070 0.065 0.065
    ---------------------------------------------------------------------------------
    3 ~DEMOC*ETHFRACT*POLDIS 0.842 0.718 0.299 0.000 0.040 0.040
    4 DEMOC*ETHFRACT*GEOCON 0.935 0.826 0.480 0.000 0.085 0.085
    5 DEMOC*ETHFRACT*~POLDIS 0.932 0.773 0.417 0.000 0.085 0.085
    6 ETHFRACT*GEOCON*POLDIS 0.869 0.786 0.365 0.005 0.045 0.045
    ---------------------------------------------------------------------------------
    
     cases
    --------------------------------
    3 ~NATPRIDE CrimRussiansUkr,RussiansUkraine; HungariansYugo,KosovoAlbanians;
     RussiansLatvia; BasquesSpain; AlbaniansFYROM
    4 DEMOC*GEOCON*POLDIS HungariansRom,CatholicsNIreland; AlbaniansFYROM; RussiansEstonia
    --------------------------------
    3 ~DEMOC*ETHFRACT*POLDIS HungariansYugo,KosovoAlbanians; GagauzMoldova
    4 DEMOC*ETHFRACT*GEOCON BasquesSpain; SerbsFYROM,CatalansSpain; AlbaniansFYROM; RussiansEstonia
    5 DEMOC*ETHFRACT*~POLDIS BasquesSpain; SerbsFYROM,CatalansSpain
    6 ETHFRACT*GEOCON*POLDIS HungariansYugo,KosovoAlbanians; GagauzMoldova; AlbaniansFYROM;
     RussiansEstonia
    --------------------------------
    
    >
    > # inspect the PI chart
    > pCVF$PIchart
    
     5 15 16 24 27 29 30 31 32
    ~NATPRIDE x x - - x x - x -
    ~DEMOC*ETHFRACT*POLDIS - x x - - - - - -
    DEMOC*ETHFRACT*GEOCON - - - - - x x x x
    DEMOC*ETHFRACT*~POLDIS - - - - - x x - -
    DEMOC*GEOCON*POLDIS - - - x - - - x x
    ETHFRACT*GEOCON*POLDIS - x x - - - - x x
    
    >
    > # DEMOC*ETHFRACT*~POLDIS is dominated by DEMOC*ETHFRACT*GEOCON
    > # using row dominance to solve the PI chart
    > pCVFrd <- minimize(ttCVF, include = "?", row.dom = TRUE, details = TRUE)
    >
    > # plot the prime implicants on the outcome
    > pims <- pCVFrd$pims
    >
    > par(mfrow = c(2, 2))
    > for(i in 1:4) {
    + XYplot(pims[, i], CVF$PROTEST, cex.axis = 0.6)
    + }
    >
    >
    >
    > # -----
    > # temporal QCA (Ragin & Strand 2008) serving the input as a dataset,
    > # which will automatically be passed to truthTable() as an intermediary
    > # step before the minimization
    >
    > minimize(RS, outcome = REC, details = TRUE)
    
    Error: The causal condition EBA is not numeric.
    
    Execution halted
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc