【发布时间】:2021-05-18 15:09:31
【问题描述】:
我正在使用nested 文件进行一些回归分析。我的代码与此类似:
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))
它工作正常,但我现在想从不同的时间范围(例如,2000 年到 2010 年)获取 predicted 值。当使用普通文件(非嵌套)时,我可以很容易地使用:
fit <- betareg(formula = Ahat ~ Year, dt)
overtime <- data.frame(Year = seq(2000, 2010))
predict(fit, type = "response", newdata = overtime)
那么,有谁知道如何在nested 文件(本例中为models)上使用这个predict 函数?
谢谢!
【问题讨论】: