我使用stargazer为多个模型创建一个表。它们实际上是相同的模型,但第一个基于所有观察,而另一个分别放下不同的观察。所有变量的名称都相同,所以令我惊讶的是,当我将表导出到Latex时,两行(一行用于虚拟变量,另一行用于交互项)是重复的。
真正奇怪的是我无法复制结果,但我会发布一个最小的工作示例。也许你可以根据我的描述单独帮助我。
这是我的MWE的代码:
library(tibble)
library(stargazer)
df <- as_tibble(data.frame(first = rnorm(100, 50), second = rnorm(100, 30), third = rnorm(100, 100), fourth = c(rep(0, 50), rep(1, 50))))
model.1 <- lm(first ~ second + third + fourth + third*fourth, data = df)
model.2 <- lm(first ~ second + third + fourth + third*fourth, data = df[!rownames(df) %in% "99",])
stargazer(model.1, model.2)
我现在将发布Latex输出包含我正在尝试修复的错误(使用此代码段似乎工作正常)。
我希望拥有的内容当然是这段代码所产生的代码(因为无法重现它而感到非常愚蠢):
答案 0 :(得分:1)
您可以使用coefficients()
查看模型系数的名称。确保它们是相同的,即identical(names(model.1), names(model.2))
然后使用stargazer
的{{1}}语句确保获得所需的系数,
以上示例保留所选变量;
keep
我正在使用coefficients(model.1)
#> (Intercept) second third fourth third:fourth
#> 57.27352606 0.02674072 -0.08236250 20.23596216 -0.20288137
coefficients(model.2)
#> (Intercept) second third fourth third:fourth
#> 57.06149556 0.03305134 -0.08214812 20.85087288 -0.20885718
identical(names(model.1), names(model.2))
#> [1] TRUE
使它对SO更友好,但我想这与LaTeX相同,
type = "text"
但如果我们找不到重现您问题的方法,可能很难排除这是一个本地问题。