【发布时间】:2013-11-02 08:39:16
【问题描述】:
我想针对同一个回归器运行 10 次回归,然后不使用循环提取所有标准错误。
depVars <- as.matrix(data[,1:10]) # multiple dependent variables
regressor <- as.matrix([,11]) # independent variable
allModels <- lm(depVars ~ regressor) # multiple, single variable regressions
summary(allModels)[1] # Can "view" the standard error for 1st regression, but can't extract...
allModels 存储为“mlm”对象,使用起来非常困难。如果我可以存储lm 对象的列表或包含感兴趣的统计数据的矩阵,那就太好了。
同样,目标是不使用循环。这是一个等效的循环:
regressor <- as.matrix([,11]) # independent variable
for(i in 1:10) {
tempObject <- lm(data[,i] ~ regressor) # single regressions
table1Data[i,1] <- summary(tempObject)$coefficients[2,2] # assign std error
rm(tempObject)
}
【问题讨论】:
-
一种使用
allModels的方法,而不是在循环中一个一个地调用lm,是在lapply上提取summary(allModels)。例如。unlist(lapply(summary(allModels), function(x) x$coefficients[2,2]))。如果lapply的隐形循环也是不想要的,我想不出其他方法。
标签: r regression linear-regression lm mlm