我的目标是从数据框中创建多个模型,然后围绕与这些不同模型对应的拟合值生成置信区间。
拉入库:
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/)?