我正在运行概率模型进行统计。
probit <- glm(fine ~ mphover + age + female + cdl + outtown + statepol + budget_issue, data=speed, family=binomial(link="probit"))
我想像这样计算利润率 https://cran.r-project.org/web/packages/margins/margins.pdf或https://cran.r-project.org/web/packages/margins/vignettes/Introduction.html#interactions_in_logit
但是在运行margins()时,我在几个数据集中遇到了这个错误。到目前为止,似乎没有任何帮助。尝试手动删除“名称”属性。重新进行所有计算,现在我被困住了。
> margins(probit, type="response")
Error in names(classes) <- clean_terms(names(classes)) :
'names' attribute [4] must be the same length as the vector [2]
如果有帮助,请使用traceback()
4: find_terms_in_model.default(model, variables = variables)
3: find_terms_in_model(model, variables = variables)
2: margins.glm(probit, type = "response")
1: margins(probit, type = "response")
答案 0 :(得分:1)
问题解决了。谢谢!
当我已经使用speed$fine
定义了数据集时,使用data=speed
等进行了查找,并且会导致此错误。
答案 1 :(得分:1)
我遇到了同样的错误,并通过将我的数据(从 .csv 文件导入)转换为来自 tibble 的数据框并确保数据框中的变量名称与对 glm 的调用一致来解决它。