I'm running some regression analyses using a nested
file. The code that I have is similar to this:
library(tidyverse)
library(purrr)
library(betareg)
# 1. Create dataframe ----
dt <- data.frame(Marker = as.factor(paste0('m', rep(seq(1,10), 10))),
Year = rep(1990:1999, each = 10),
Ahat = rnorm(100, 0.5, 0.1)) %>%
mutate(Group = case_when(
Marker %in% c("m1", "m2", "m3") ~ "A",
Marker %in% c("m4", "m5", "m6") ~ "B",
Marker %in% c("m7", "m8") ~ "C",
TRUE ~ "D"))
# 2 Nesting ----
nested_dt <- dt %>%
group_by(Group) %>%
nest()
# 3 Beta Regression Function
marker_model <- function(dt) {
betareg(Ahat ~ Year, data = dt)
}
# 4 Run Reg Model
models <- nested_dt %>% mutate(mod = map(data, marker_model))
It works fine, but I'd like now to get predicted
values from a different time frame (e.g., 2000 to 2010). When using a normal file (not nested), I could easily do this using:
fit <- betareg(formula = Ahat ~ Year, dt)
overtime <- data.frame(Year = seq(2000, 2010))
predict(fit, type = "response", newdata = overtime)
So, does anyone know how to use this predict
function on nested
files (models
in this case)?
Thank you!