如何在R中使用predict()将拟合值及置信区间存入现有数据框
解决方法
当你用predict()指定interval='confidence'时,返回的是一个3列的矩阵,直接赋值给数据框的单个列会把整个矩阵嵌套进去,导致无法单独调用列。你可以用以下两种方式拆分矩阵,生成独立可调用的列:
方法一:先存临时对象再拆分赋值
# 先获取完整的预测结果矩阵 pred_matrix <- predict(linear_model, newdata = ObservedData, interval = 'confidence') # 分别将矩阵的三列添加到原数据框 ObservedData$fit <- pred_matrix[, "fit"] ObservedData$lwr <- pred_matrix[, "lwr"] ObservedData$upr <- pred_matrix[, "upr"]
方法二:用cbind直接合并(更简洁)
# 直接把预测矩阵和原数据框合并,新增fit、lwr、upr三列 ObservedData <- cbind(ObservedData, predict(linear_model, newdata = ObservedData, interval = 'confidence'))
这样操作后,你就能直接用ObservedData$fit、ObservedData$lwr、ObservedData$upr单独调用对应列了。
内容的提问来源于stack exchange,提问作者Patrick
相关产品推荐
相关产品推荐

