Cla*_*nry 4 regression r linear-regression lm mlm
我想针对同一个回归程序运行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...
Run Code Online (Sandbox Code Playgroud)
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)
}
Run Code Online (Sandbox Code Playgroud)
如果您将数据放在长格式中,使用lmListnlme或lme4包很容易得到一堆回归结果.输出是回归结果列表,摘要可以为您提供系数矩阵,就像您想要的那样.
library(lme4)
m <- lmList( y ~ x | group, data = dat)
summary(m)$coefficients
Run Code Online (Sandbox Code Playgroud)
那些系数是一个简单的三维数组,因此标准误差为[,2,2].