用 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
我正在尝试使用 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