我有一个模型列表,为了使代码更易于维护(因此可以方便地添加和删除模型),我希望有一个地方来存储它们及其名称。为此,我必须解决以下命名问题。
上游,我生成模型的方式比以下方式效率低(如果是这样压缩的,我会assign
他们对自己的env
).
lmNms <- c( "mod1", "mod2", "mod3", "mod4", "mod5", "mod6")
lapply(lmNms, function(N) assign(N, lm(runif(10) ~ rnorm(10)), env = .GlobalEnv))
下游,我已将混乱收集到一个列表中:
modelList <- list(mod1, mod2, mod3, mod4, mod5, mod6)
我有一个(未命名的)变量输出列表,并附加名称如下:
output <- list(1, 2, 3, 4, 5, 6)
names(output) <- lmNms
我希望能够使用来自的型号名称modelList
:
modelList <- list(mod1, mod2, mod3, mod4, mod5, mod6)
names(output) <- someFun(modelList)
我确信存在someFun
——但我不明白……这可以做到吗?
明确地说,目标是做到这一点without using lmNms
-- 我想从以下位置获取名字modelList
,或者让它们附加在我构建的点上modelList
(重点是避免list(a = a, b=b ...)
样板文件。