2

我是 R 新手,在创建一个 for 循环时遇到了麻烦,我可以在其中使用字符串名称中的变量。例如:

lm1 <- lm(a~b+c)
lm2 <- lm(a~b+d)
lm3 <- lm(a~b+e)

for(i in 1:3){
  summary(lm${i})
}

任何帮助,将不胜感激!

4

2 回答 2

4

在列表中工作。

将您的模型列入列表

model_list <- mget(paste0('lm',1:3), envir = parent.frame())
# apply summary on each element of a list
lapply(model_list, summary)
于 2013-04-05T03:43:13.583 回答
2

您需要使用getpaste0paste0连接它的参数 get将获取名称由其参数中的字符串定义的对象

尝试

for(i in 1:3){
  summary(get(paste0('lm',i)))
}
于 2013-04-05T03:27:02.217 回答