【问题标题】:Stargazer error with polr in RR 中 polr 的 Stargazer 错误
【发布时间】:2019-12-10 16:11:31
【问题描述】:

stargazerRMASS 包中的polr 结合使用时出现错误。这是一个例子:

library(MASS)
library(stargazer)

# Fake data
set.seed(1234)
fake_data <- data.frame(y = as.factor(sample.int(4, 20, replace = TRUE)),
                        x1 = rnorm(20, mean = 1, sd = 1),
                        x2 = rnorm(20, mean = -1, sd = 1))

# Ordered logistic regression
o_log <- MASS::polr(y ~ x1 + x2,
                    data = fake_data,
                    Hess = TRUE, method = "logistic")

summary(o_log)

# Create regression table
stargazer(o_log)

我收到以下错误消息:

% Error: Unrecognized object type.

有谁知道如何解决这个问题?提前致谢。

P.S.:我在 OS X 10.13 上,使用 R 3.4.3、MASS 7.3.47 和 stargazer 5.2。

编辑:根据 stargazer 的小插图,应该支持来自 polr 的对象。

【问题讨论】:

  • 哪一行报错了?
  • 最后一次调用,即stargazer(o_log)。
  • 这似乎是 stargazer 包中的一个错误。当我在 Windows 上运行它时,我得到了同样的错误消息,你是正确的,stargazer() 的文档表明它应该与类 polr 的对象一起使用。我对该软件包的了解不足,无法建议解决方法。
  • 这里的错误似乎是 stargazer 使用$call 来确定对象类型。见stackoverflow.com/questions/27931317/…

标签: r stargazer


【解决方案1】:

我不知道原因,但是当我将MASS::polr 更改为plor 时,错误被删除并且工作正常。好像是stargazer包的bug。

【讨论】:

  • 建议中的plor可能是错字,应该是polr
【解决方案2】:

我遇到了同样的问题。出于某种奇怪的原因,这只发生在您使用 :: 调用函数时(在您的情况下:MASS::polr)。当您首先通过library(MASS) 加载包然后调用特定函数时不会发生这种情况。

见:Why do I get different results when using library(MASS) vs. MASS::?

【讨论】:

    【解决方案3】:

    我猜是因为您没有加载MASS 库,而是使用:: 调用了函数。 MASS 库对 summary 如何为 polr 工作进行了一些更新,stargazer 正在使用它来生成表格。通过不加载库,更新没有发生,因此给你带来了一些观星者的麻烦。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-27
      • 2017-01-02
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-27
      • 2017-01-03
      相关资源
      最近更新 更多