为什么 stargazer 会为这两个模型生成不同的因变量标签?
Why does stargazer produce different dependent variable labels for these two models?
我想知道是否有人可以告诉我为什么 stargazer 为以下两个模型制作了不同的因变量标签:
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")
我想知道是否有人可以告诉我为什么 stargazer 为以下两个模型制作了不同的因变量标签:
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")