簡體   English   中英

將stargazer與通過對拆分data.frame進行重疊處理而創建的lm對象列表一起使用

[英]Using stargazer with a list of lm objects created by lapply-ing over a split data.frame

我正在嘗試為一組回歸創建觀星表,在該表中我對數據的一個子集運行了每個回歸。 我認為,執行此操作的自然方法是使用split從我的數據創建data.frames列表,通過對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")

但是根據我的真實數據,我要拆分的東西具有多個值,我寧願不手工拆分它們。 為什么我得到“%錯誤:無法識別的對象類型”的任何想法。 錯誤?

有一個簡單的解決方法,由BondedDust暗示,並通過仔細閱讀lapply的幫助來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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM