Je cherche à générer des intervalles de prédiction à l'aide de la fonction predict() pour un nouveau jeu de données, mais à l'échelle de plus d'un modèle que j'ai créé pour un jeu de données. Je suis relativement inexpérimenté à l'aide de lapply, mais la figure, il devrait être utile dans ce processus:
#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
)
Toutefois, cela attire l'erreur suivante:
Erreur dans get(comme.caractère(FUN), mode = "fonction", envir = envir) : l'objet 'model_dna" de mode "fonction" n'a pas été trouvé
Je ne suis pas sûr de la meilleure façon de structurer cette lapply fonction, en particulier lorsqu'ils sont utilisés dans plus d'un modèle. Est-il généralement le moyen le plus propre à cette approche?