【发布时间】:2015-03-20 10:53:52
【问题描述】:
您好,我想在不同条件下执行多个回归。我已经成功地做到了这一点,但是当我得到包含所有系数的列表时,每当我使用多个级别因子时,级别的名称都会丢失。但是,如果我只使用一个因素,名称仍然存在。
我想要的是在两个条件下计算所有参数并显然得到名称。我想通过循环来做到这一点,因为我的数据比这复杂得多。
library(bear)
model<-function(A,mu) {
A+mu*time
}
mod <- ln_rel.cc ~A+mu*time
rep<- c("r1","r2","r3","r4","r5")
Medium<-c("A","B")
time<-c(seq(from=0, to=39,by=1))
ln_rel.cc<-model(A=1,mu=0.4)
MedTest<-cbind(rep,Medium,time,ln_rel.cc )
MedTest<-data.frame(MedTest)
MedTest$time<-as.numeric(MedTest$time)
MedTest$ln_rel.cc<-as.numeric(MedTest$ln_rel.cc)
head(MedTest)
values<-NULL
##one factor regression
for(M in levels(MedTest$Medium)){
values[M]<-list((summary(lm(ln_rel.cc ~time, MedTest[ MedTest$Medium==M ,]
))$coef))
}
values
values<-NULL
##Two factors regression
for(M in levels(MedTest$Medium)){
for (R in levels(MedTest$rep)){
values[M[R]]<-list((summary(lm(ln_rel.cc ~time, MedTest[MedTest$rep==R & MedTest$Medium==M ,]
))$coef))
}
}
values
感谢您的帮助
【问题讨论】:
-
请read about how to provide a minimal reproducible example。向我们展示具体的问题,也许是通过消除 for 循环。直觉告诉我,分解代码以识别问题的过程可能会向你揭示答案。
标签: r for-loop regression lm