我想使用 R 中 propogate 包中的 predictNLS 围绕大量拟合值建立置信区间。例如,我将使用它们在函数描述中引用的数据集(https://rdrr.io/github/anspiess /propagate/man/predictNLS.html )、DNase,并构建一个将值 conc 和 density 作为特征的模型:
library(propogate)
library(dplyr)
library(modelr)
DNase <- DNase
modeldna <- DNase %>% group_by(Run) %>%
do(run_model = nls(density ~ a * exp(b * conc),
start = list(a = 1 , b = 0.5),
data = .)) %>% ungroup()
然后我想给每一行分配它的模型,以便可以添加预测:
DNApredict <- full_join(as_tibble(DNase), modeldna, by = "Run")
添加预测:
DNApredict <- DNApredict %>%
group_by(Run) %>%
do(add_predictions(., var = "predicted_density", first(.$run_model)))
然后,我想添加 predictNLS 似乎提供的置信区间数据,方法是为其提供相同的数据并要求它为 predict_density 列中的每个拟合点提供置信区间:
confidence_interval <- predictNLS(model = modeldna, newdata = DNApredict$predicted_density, interval = "confidence")
但是,会出现以下错误:
as.list(object$call$formula) 中的错误:缺少参数“object”,没有默认值
有谁知道这可能是什么原因造成的?我知道对你们中的一些人来说,它所调用的对象是什么似乎很明显,所以如果这是一个荒谬的问题,我深表歉意。我真的希望能够使用此功能围绕一系列拟合值创建置信区间。非常感谢您提前。