跑了一堆回归,现在我正在尝试收集他们的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我总是有这个问题"嘿,不要把它当作一个字符串,把它视为一个变量",反之亦然.
您可以使用
sapply(mget(ls(pattern = "^reg\\d+$")), function(x) summary(x)$coefficients[4,4])
创建一个包含所有p值的向量.
虽然最好将对象存储在列表中并循环遍历,但您要求get
:
currentreg <- summary(get(paste("reg", i, sep="")))
如果你有一个对象列表,models <- list(reg2, reg3, reg4, ...)
.然后,您可以循环遍历此列表sapply
以获得所需的结果(循环,将结果收集到向量中):
x <- sapply(models, function(z) { summary(z)$coeficients[4,4] })