Можно ли сохранить результат функции в l oop как объект с именем, содержащим значение i в R? - PullRequest
1 голос
/ 05 мая 2020

Я хочу написать сценарий, который будет использоваться для выбора наилучшей степени свободы для предсказателя сплайн-функции в glm.

MODEL.1<-glm(ZAL ~ns(D1, df = i), data = DANE3, family =poisson, na.action=na.omit);

Я хотел использовать l oop для последовательного расчета моделей для значений от 4 до 12, но я не знаю, как заставить l oop сохранять каждую модель отдельно как объект, например с именами «MODEL.df4», «MODEL.df5» и т. д.

Как его закодировать в R?

1 Ответ

1 голос
/ 05 мая 2020

Есть много способов сделать это. Вы можете сохранить результаты в именованном списке. Вот простая функция модели, которая возвращает data.frame.

@library(tidyverse)
modelFn <- function(i){data.frame(IN = i, OUT = 7 + i)}

Инициализировать пустой список.

MODEL = NULL

Запустить модель по значениям от 4 до 12 и сохранить названный результат в вашем списке

walk(4:12, ~ {MODEL[[paste0("df", .x)]] <<- modelFn(.x)})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...