如何解决R 问题:如何保存回归输出以便我可以使用 mtable
我将多个回归输出保存在一个列表中,但使用 mtable 函数比较它们会引发错误。
我的回归具有相同的 x 和 y 列名称和数据类型,但具有不同的数据。此处的最小可重现示例。 匹配常规 lm 输出和保存的列表元素表示它们是相同的。 非常感谢帮助!
library(memisc) # for mtable - comparing regressions
x = cumsum(c(0,runif(100,-1,+1)))
y = cumsum(c(0,+1)))
# simple regression variables can be compared
fit1 = lm(y ~ x)
summary(fit1)
fit2 = lm(y ~ x)
mtable(fit1,fit2) # This works
## Saving as a list changes the lm output when accessing back the list element?
t<- list()
t<- append(t,list(fit1))
t<- append(t,list(fit2))
mtable(t[[1]],t[[2]]) # This does not work
# with lapply
p<- lapply(1:2,function(k){
fit1 = lm(y ~ x)
fit1
})
mtable(p[[1]],p[[2]]) # This does not work
all.equal(fit1,p[[1]]) # Returns TRUE
all.equal(fit1,t[[1]]) # Returns TRUE
解决方法
我可以确认 mtable
对我不起作用......我不明白为什么它不会。它抱怨一些属性:
Error in attributes(.Data) <- c(attributes(.Data),attrib): 'names' attribute [6] must be the same length as the vector [2]
经检查均相同。
如果您不太大惊小怪,我会改用 stargazer
,它非常适合列表。事实上,它可以直接获取列表,mtable
不会根据其帮助页面。
x = cumsum(c(0,runif(100,-1,+1)))
y = cumsum(c(0,+1)))
# simple regression variables can be compared
fit1 = lm(y ~ x)
fit2 = lm(y ~ x)
# with lapply
p<- lapply(1:2,function(k){
fit1 = lm(y ~ x)
fit1
})
stargazer::stargazer(fit1,fit2,type = "text")
#>
#> ==========================================================
#> Dependent variable:
#> ----------------------------
#> y
#> (1) (2)
#> ----------------------------------------------------------
#> x 1.329*** 1.329***
#> (0.081) (0.081)
#>
#> Constant -2.198*** -2.198***
#> (0.178) (0.178)
#>
#> ----------------------------------------------------------
#> Observations 101 101
#> R2 0.731 0.731
#> Adjusted R2 0.728 0.728
#> Residual Std. Error (df = 99) 1.447 1.447
#> F Statistic (df = 1; 99) 269.086*** 269.086***
#> ==========================================================
#> Note: *p<0.1; **p<0.05; ***p<0.01
stargazer::stargazer(p,type = "text")
#>
#> ==========================================================
#> Dependent variable:
#> ----------------------------
#> y
#> (1) (2)
#> ----------------------------------------------------------
#> x 1.329*** 1.329***
#> (0.081) (0.081)
#>
#> Constant -2.198*** -2.198***
#> (0.178) (0.178)
#>
#> ----------------------------------------------------------
#> Observations 101 101
#> R2 0.731 0.731
#> Adjusted R2 0.728 0.728
#> Residual Std. Error (df = 99) 1.447 1.447
#> F Statistic (df = 1; 99) 269.086*** 269.086***
#> ==========================================================
#> Note: *p<0.1; **p<0.05; ***p<0.01
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。