用 LM returns 申请一个 Stargazer 不能使用的 Call 函数。我该如何改变它?

Sapply with LM returns a Call function that Stargazer can't use. How do I change that?

我正在尝试使用 sapply 对一些结果变量进行回归。 sapply 函数有效并且 returns 线性模型正确,但是 Call returns '''Call: FUN(公式 = X[[i]], 数据 = ..1)'''.我相信这就是我无法在没有收到此错误的情况下将 sapply 输出插入 Stargazer 的原因:

% Error: Unrecognized object type.

我已经将 sapply 变量的输出与第一个结果变量的手动插件进行了比较。结果相同,但 Stargazer 不适用于 sapply 版本。

这个有效:

normal_approach <- lm(y_1~x, data = df)
stargazer(normal_approach, type = 'text')

这不是:

test_col <- c("y_1") #I have more variables but troubleshooting so removed them
names(n) <- names(test_col)

forms <- paste(test_col, '~x')
sapp_approach <- sapply(forms, lm, data = df, simplify = FALSE, USE.NAMES = TRUE)

sapply_version <- sapp_approach$`y_1~x' #confirmed that this variable is correct
stargazer(sapply_version, type = 'text')

% Error: Unrecognized object type.

我认为 sapply 方法中的 Call 函数是问题所在。

Call: FUN(formula = X[[i]], data = ..1)

stargazer 在显示模型列表的输出时出现问题。 “hack”是在创建模型之前以长格式获取数据。

由于没有数据共享,这里有一种使用 mtcars 数据集的方法,只保留其中的前 3 列。我在这里使用 disp 代替您的 x 列。

library(stargazer)

df <- mtcars[1:3]
df1 <- tidyr::pivot_longer(df, cols = -disp)
list_df <- split(df1, df1$name)

lm_model_list <- lapply(list_df, function(x) lm(disp~value, x))

输出-

#For one model
stargazer(lm_model_list$cyl, type = 'text')


===============================================
                        Dependent variable:    
                    ---------------------------
                               disp            
-----------------------------------------------
value                        62.599***         
                              (5.469)          
                                               
Constant                    -156.609***        
                             (35.181)          
                                               
-----------------------------------------------
Observations                    32             
R2                             0.814           
Adjusted R2                    0.807           
Residual Std. Error      54.385 (df = 30)      
F Statistic           130.999*** (df = 1; 30)  
===============================================
Note:               *p<0.1; **p<0.05; ***p<0.01


#For list of models
stargazer(lm_model_list, type = 'text')


==========================================================
                                  Dependent variable:     
                              ----------------------------
                                          disp            
                                   (1)            (2)     
----------------------------------------------------------
value                           62.599***     -17.429***  
                                 (5.469)        (1.993)   
                                                          
Constant                       -156.609***    580.884***  
                                 (35.181)      (41.740)   
                                                          
----------------------------------------------------------
Observations                        32            32      
R2                                0.814          0.718    
Adjusted R2                       0.807          0.709    
Residual Std. Error (df = 30)     54.385        66.863    
F Statistic (df = 1; 30)        130.999***     76.513***  
==========================================================
Note:                          *p<0.1; **p<0.05; ***p<0.01