R 中带有 polr 的 Stargazer 错误

Stargazer error with polr in R

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。

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

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

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

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

我猜这是因为你没有加载 MASS 库,而是使用 :: 调用了函数。 MASS 库正在更新 summary 如何为 polr 工作,stargazer 正在使用它来生成 table。由于不加载库,更新没有发生,因此给您带来一些 stargazer 的麻烦。