У меня есть некоторые недисциплинированные данные, которые я пытался смоделировать с помощью ряда различных линейных моделей, которым я дал разные названия. Затем я создал фрейм данных под названием «сравниваемые совпадения». Я могу хранить некоторые из наиболее актуальных результатов из различных моделей, используя код ниже.
for(i in 1:length(regressionmodels.listed))
{
comparedfits[i, 2] = summary(regressionmodels.listed[[i]])$df[2]
comparedfits[i, 3] = summary(regressionmodels.listed[[i]])$r.squared
comparedfits[i, 4] = summary(modelnow)$adj.r.squared
#See code snippet below for explanation
#name = deparse(get(substitute(regressionmodels.listed[[i]])))
#names_models[i] = name
}
«Перечисленные модели регрессии» - это объект списка типов, который я создаю просто:
regressionmodels.listed <- list(fit1, fit2 ...etc)
То, что я не могу сделать любым итерационным способом, заключается в следующем:
for(i in 1:length(regressionmodels.listed))
{
namesofmodels[i] = deparse(substitute(regressionmodels.listed[[i]]))
}
Обратите внимание, что если я запускаю разбор кода на индивидуально подобранной модели, скажем, fit1, он работает. Я только не могу заставить его работать с элементами списка подогнанных моделей. Это, очевидно, «приятно иметь», но поскольку я буду сравнивать, может быть, 10 или более моделей, было бы действительно проще, если бы я мог найти способ сделать это и добавить его в другой мой фрейм данных выше. .
РЕДАКТИРОВАТЬ Вот как выглядит regressionmodels.listed:
regressionmodels.listed <- list(lmobject1, lmobject2, lmobject3)
Объекты lm создаются просто путем запуска линейной модели для различных комбинаций данных. ,