gpt4 book ai didi

r - 将 stargazer 与通过 lapply-ing 创建的 lm 对象列表一起使用在拆分的 data.frame 上

转载 作者:行者123 更新时间:2023-12-04 10:58:40 25 4
gpt4 key购买 nike

我正在尝试为一组回归创建一个观星表,我在其中对我的数据子集运行每个回归。我认为这样做的自然方法是使用 split要从我的数据创建一个 data.frames 列表,请使用 lapply 创建一个 lm 对象列表。在 data.frames 列表中,然后将该列表提供给 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")

但是根据我的真实数据,我拆分的对象有几个值,我宁愿不手动拆分它们。任何想法为什么我会收到“% 错误:无法识别的对象类型”。错误?

最佳答案

有一个简单的解决方法,由 BondedDust 暗示并通过仔细阅读 lapply 的帮助建议。 .

fit <- lapply(by.river, function(dd)lm(crim ~ indus,data=dd))
stargazer(fit, type = "text")
fit[[1]]$call
#lm(formula = crim ~ indus, data = dd)

关于r - 将 stargazer 与通过 lapply-ing 创建的 lm 对象列表一起使用在拆分的 data.frame 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27931317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com