[英]Making function to repeat felm model for multiple models using lapply
我試圖在 r 中運行一系列模型,基於相同的結構,但變量集略有變化。 我正在使用來自lfe
package 的felm
model 具有多個協變量、固定效應和聚集變量。
我的基本 model 如下:
model <- felm(formula = outcome1 ~ mainx + cov1 + cov2 + cov3 | fe |0| clustercov, data = df)
這有效,並允許我對殘差進行 plot 就好了。 但是,我現在需要為一系列替代結果變量運行此程序:結果outcome1, outcome2, outcome3
結果 2、結果 3 等。這些都是類似構造的變量(數字等),但它們的值不同。 除了這個結果變量之外,所有其他變量都保持不變。
我有一些使用lapply
和function()
的經驗,但我無法確定如何將felm
model 插入此格式,以便我可以使 model 針對不同的結果變量重復。 這可能與felm
,我應該如何 go 來構建這個?
將公式構造為字符串並將其強制轉換為公式往往是最容易的。
paste0("outcome", 1:4, " ~ mainx + cov1 + cov2 + cov3 | fe |0| clustercov") |>
lapply(as.formula)
#> [[1]]
#> outcome1 ~ mainx + cov1 + cov2 + cov3 | fe | 0 | clustercov
#> <environment: 0x5597656aaeb8>
#>
#> [[2]]
#> outcome2 ~ mainx + cov1 + cov2 + cov3 | fe | 0 | clustercov
#> <environment: 0x5597656aaeb8>
#>
#> [[3]]
#> outcome3 ~ mainx + cov1 + cov2 + cov3 | fe | 0 | clustercov
#> <environment: 0x5597656aaeb8>
#>
#> [[4]]
#> outcome4 ~ mainx + cov1 + cov2 + cov3 | fe | 0 | clustercov
#> <environment: 0x5597656aaeb8>
由代表 package (v2.0.1) 於 2022 年 7 月 30 日創建
您還可以將 felm felm()
function 直接放入lapply()
:
paste0("outcome", 1:4, " ~ mainx + cov1 + cov2 + cov3 | fe |0| clustercov") |>
lapply(\(x) felm(as.formula(x), data = df))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.