当我尝试针对一个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行的错误消息匹配:
但是我在编程方面不够称职,无法理解导致错误消息被抛出的条件。
答案 0 :(得分:0)
这是因为您的数据集是一个tibble而不是一个数据帧。加载数据集后,在找到真值表之前,请执行以下操作:
gamson <- as.data.frame(gamson)
之后它应该工作。 (eqmcc
函数的最新版本现在称为minimize
。