R QCA包中的eqmcc函数退出时出错

时间:2017-03-07 00:44:56

标签: r

当我尝试针对一个truthTable对象调用eqmcc()时,结果是以下错误消息:

  

错误:结果的长度应与数据中的行数相同。

这是我的剧本:

library(QCA); library (psych); library(readr)
gamson <- read_csv("/path/to/Gamson.csv", col_names = TRUE)
is.na(gamson)
ttACP2 <- truthTable(data=gamson, outcome = "ACP", conditions = "BUR, LOW, DIS, HLP", n.cut=3, incl.cut=0.750, sort.by="incl, n", complete=FALSE, show.cases=TRUE)
ttACP2
csACP2 <- eqmcc(ttACP2, details=TRUE, show.cases=TRUE, row.dom=TRUE, all.sol=FALSE, use.tilde=FALSE)

is.na()函数显示我的数据集中没有缺失值。数据集包含54行,其中第一行是列名。真值表是根据期望生成的。但是,所选择的因果条件的最小化失败了。

我发现一大堆源代码与第90行的错误消息匹配:

  

https://github.com/cran/QCApro/blob/master/R/pof.R

但是我在编程方面不够称职,无法理解导致错误消息被抛出的条件。

1 个答案:

答案 0 :(得分:0)

这是因为您的数据集是一个tibble而不是一个数据帧。加载数据集后,在找到真值表之前,请执行以下操作:

gamson <- as.data.frame(gamson)

之后它应该工作。 (eqmcc函数的最新版本现在称为minimize