Я пытаюсь сгенерировать интервалы прогнозирования, используя функцию predict() для нового набора данных, но для более чем одной модели, созданной мной для набора данных. Я относительно неопытен в использовании lapply, но считаю, что это должно быть полезно в этом процессе:
#Calling in my libraries:
library(dplyr)
#Creating dataset:
DNase <- DNase
#Generating models, one for each "Run" in DNAse:
model_dna <- DNase %>%
group_by(Run) %>%
do(model_dna_group = lm(log(density) ~ log(conc), data = .)) %>% ungroup()
#Creating a new data set to be used to generate predictions:
new_dna <- as.data.frame(DNase$conc) %>%
mutate(conc = DNase$conc * 2) %>% select(conc)
#Attempting to apply predict to these models for a new data frame:
new_dna_w_predictions <- lapply(
X = model_dna,
FUN = predict,
newdata = new_dna,
interval = "prediction",
level = 0.9
)
Однако это приводит к следующей ошибке:
Ошибка в get(как.символ(ЗАБАВА), режим = "функция", окружение = окружение) : объект "model_dna" режима "функция" не найден
Я не уверен, как лучше структурировать эту функцию lapply, особенно когда она используется более чем в одной модели. Есть ли в целом более чистый способ подойти к этому?