我有1个从1个数据集创建的独特线性模型。每个人都是由:
创建的mymodel1 <- lm(y ~ x1 + etc, data=mydata)
现在我要做的就是在所有20个模型上创建一个命令输出列表,例如类似的东西:
summary(mymodel[i])$adj
for i=1,2,...,20
这可能是显而易见的,但我没有找到任何相关内容。
这是对20个变量名进行操作的最佳方式吗?
for (i in 1:20) print(somefunction(eval(parse(text=paste0("model", i))))$adj)
答案 0 :(得分:1)
这应该返回工作区中的项目向量,这些项目继承自&#39; lm&#34;:
lm.names <- ls()[ sapply( ls(), function(x) 'lm' %in% class(get(x) ))]
这将返回所有这些摘要项的列表。
sapply( lm.names, function(x) summary( get(x) )
注意使用get
(两次)。 ls
函数返回对象的名称,但既不作为对象本身也不作为真正的R名称,而是作为字符向量。您可能需要仔细查看&#34; Value&#34; ?summary.lm的一节,因为它是一个列表,也许你只想要一些项目列表?