跑了一堆回归,现在我正在尝试收集他们的p值并将它们放入向量中。
x=summary(reg2)$coefficients[4,4] #p value from the first regression, p-val is in row 4, col 4
for (i in 3:1000){
currentreg=summary(paste("reg",i,sep=""))
assign(x,c(x,currentreg$coefficients[4,4]))
}
我也尝试了eval(parse(currentreg))
和eval(parse(summary(paste("reg",i,sep=""))))
没有运气。告诉R我总是有这个问题“嘿,不要把它当作一个字符串,把它视为一个变量”,反之亦然。
答案 0 :(得分:8)
虽然最好将对象存储在列表中并循环显示,但是你需要get
:
currentreg <- summary(get(paste("reg", i, sep="")))
如果您有对象列表models <- list(reg2, reg3, reg4, ...)
。然后,您可以使用sapply
遍历此列表以获得所需的结果(循环,将结果收集到矢量中):
x <- sapply(models, function(z) { summary(z)$coeficients[4,4] })
答案 1 :(得分:5)
您可以使用
sapply(mget(ls(pattern = "^reg\\d+$")), function(x) summary(x)$coefficients[4,4])
创建一个包含所有p值的向量。