【发布时间】:2021-05-03 23:43:03
【问题描述】:
我将多个回归输出保存在一个列表中,但使用 mtable 函数比较它们会引发错误。
我的回归具有相同的 x 和 y 列名称和数据类型,但会有不同的数据。此处的最小可重现示例。 匹配常规 lm 输出和保存的列表元素表示它们是相同的。 非常感谢您的帮助!
library(memisc) # for mtable - comparing regressions
x = cumsum(c(0, runif(100, -1, +1)))
y = cumsum(c(0, runif(100, -1, +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
【问题讨论】: