【问题标题】:Error in names(classes) <- clean_terms(names(classes)), 'names' attribute must be the same length as the vector名称(类)<- clean_terms(名称(类))中的错误,“名称”属性必须与向量的长度相同
【发布时间】:2018-07-12 11:25:58
【问题描述】:

我正在运行一个概率模型来进行统计。

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.pdfhttps://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")

【问题讨论】:

  • 天哪。有效。谢谢!我还在学习 R 并使用 $ 从数据框中快速挑选变量。

标签: r


【解决方案1】:

问题解决了。谢谢!

当我已经使用data=speed 定义了数据集时,结果使用speed$fine 等不需要并导致此错误。

【讨论】:

  • 您的意思不是很清楚,因为speed$fine 似乎不在您问题的代码中...
【解决方案2】:

我遇到了同样的错误并通过将我的数据(从 .csv 文件导入)转换为来自 tibble 的数据框并确保数据框中的变量名称与对 glm 的调用一致来解决它。

【讨论】:

    猜你喜欢
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 2018-03-18
    相关资源
    最近更新 更多