我试图为一组回归创建一个观星表,在那里我对我的数据子集运行每个回归。我认为,执行此操作的自然方法是使用split
从我的数据创建data.frames列表,使用数据列表上的lapply
创建lm对象列表。框架,然后将该列表提供给stargazer
。例如,
library(MASS)
library(stargazer)
data(Boston)
# This doesn't work
by.river <- split(Boston, Boston$chas)
fit <- lapply(by.river, lm, formula = crim ~ indus)
stargazer(fit, type = "text")
# % Error: Unrecognized object type.
# % Error: Unrecognized object type.
如果我手动将它们分开,这样可以正常工作:
# This works
fit2 <- vector(mode = "list", length = 2)
fit2[[1]] <- lm(crim ~ indus, data = Boston, subset = (chas == 0))
fit2[[2]] <- lm(crim ~ indus, data = Boston, subset = (chas == 1))
stargazer(fit2, type = "text")
但是根据我的真实数据,我分裂的东西有几个值,我宁愿不要手工分割它们。任何想法为什么我得到&#34;%错误:无法识别的对象类型。&#34;错误?