我想知道是否有人可以告诉我为什么观星者为下面的两个模型生成不同的因变量标签:
j <- "hp"
i <- "cyl"
lm1 <- lm(paste(j, "~", i), mtcars)
stargazer(lm1, header = FALSE, type = "text")
产生因变量 j
而:
model <- paste(j, "~", i)
lm2 <- lm(model, mtcars)
stargazer(lm2, header = FALSE, type = "text")
产生正确的因变量 HP
似乎
stargazer
从模型的call
属性中选取因变量标签,因此当执行内部代码 (https://github.com/cran/stargazer/blob/master/R/stargazer-internal.R( 中的第 51 行时,它会读取j
而不是hp
您可以看到,如果您将call
贡从 lm2 复制到 lm1,现在您会得到它:
lm1$call <- lm2$call
stargazer(lm1, header = FALSE, type = "text")