【发布时间】:2021-03-16 22:23:23
【问题描述】:
我的目标是从一个数据框创建多个模型,然后围绕与这些不同模型对应的拟合值生成置信区间。
拉入库:
library(purrr)
library(dplyr)
library(modelr)
将 data_1 指定为来自 R 的 DNase 数据集:
data_1 <- DNase
为每次运行创建一个独特的模型:
model_dna <- data_1 %>% group_by(Run) %>%
do(model_dna = lm(conc ~ density, data = .)) %>% ungroup()
然后,我想预测同一组数据的拟合度和 95% 置信区间,但要单独针对每个模型进行预测。当包括区间 =“置信度”时,结果表应生成拟合值的“拟合”列,以及“upr”和“lwr”列,表示拟合值周围的置信范围。我试过这个,因为 spread_predictions 以前曾帮助将拟合值分布在多组数据中:
data_2 <- map(model_dna$model_dna, ~ spread_predictions(data = data_1, models = .x, interval = "confidence"))
但是,会产生以下错误:
Error in UseMethod("predict") :
no applicable method for 'predict' applied to an object of class "character"
有谁知道产生这些数字的最佳方法是什么?我是否必须更改此函数处理数据的方式?或者有没有更好的函数可以使用,即直接使用 predict() ,它肯定将区间作为参数(http://www.sthda.com/english/articles/40-regression-analysis/166-predict-in-r-model-predictions-and-confidence-intervals/)?
【问题讨论】:
-
下面的帖子很好地回答了我的问题:stackoverflow.com/questions/65042240/…
标签: r model purrr predict modelr