R绘图包ggplot2具有一个名为stat_smooth的强大功能,用于绘制带有相关置信带的回归线(或曲线)。
但是,对于每次回归线(或“方法”),我都很难弄清楚如何生成此置信带。我如何找到此信息?
R绘图包ggplot2具有一个名为stat_smooth的强大功能,用于绘制带有相关置信带的回归线(或曲线)。
但是,对于每次回归线(或“方法”),我都很难弄清楚如何生成此置信带。我如何找到此信息?
Answers:
从Details
帮助部分
计算是通过(当前未记录的)predictionf泛型函数及其方法执行的。对于大多数方法,使用预测方法来计算置信范围-例外是黄土,它使用基于t的近似值;对于glm,将正常的置信区间构建在链接标度上,然后反变换为响应标度。
因此,predictedf通常会调用stats::predict
,而后者又会predict
为平滑方法调用正确的方法。其他涉及stat_smooth的功能 也可以考虑使用。
大多数模型拟合函数将具有predict
与class
模型关联的方法。这些通常将带有一个newdata
对象和一个参数se.fit
,这些参数和参数将指示是否将符合标准错误。(请参阅参考资料?predict
)以获取更多详细信息。
se
显示置信区间是否平滑?(默认为TRUE,请参见要控制的级别
这直接传递给预测方法以返回适当的标准误差(取决于方法)
fullrange
拟合应该跨越图的整个范围,还是仅包含数据
这定义了newdata
将x
在其上评估预测的值
level
要使用的置信区间级别(默认为0.95)
直接传递给预测方法,使得置信区间可以定义相应的临界值(例如predict.lm
使用qt((1 - level)/2, df)
用于向由相乘标准误差
n
评估时更平滑的点数
与一起使用fullrange
以定义对象中的x
值newdata
。
在调用中,stat_smooth
您可以定义se
与se.fit
(或se
)部分匹配的对象,并interval
在必要时定义参数。level
将给出置信区间的级别(默认值为0.95)。
的newdata
对象的处理中定义的,这取决于你的设置fullrange
到一个长度的序列n
的全部范围的曲线图或数据的范围内。
在您的情况下,使用rlm
,它将使用predict.rlm
,其定义为
predict.rlm <- function (object, newdata = NULL, scale = NULL, ...)
{
## problems with using predict.lm are the scale and
## the QR decomp which has been done on down-weighted values.
object$qr <- qr(sqrt(object$weights) * object$x)
predict.lm(object, newdata = newdata, scale = object$s, ...)
}
因此,它在内部调用predict.lm
时对qr
分解和scale
参数进行了适当的缩放。
predict
已经以一种标准方式设置了该方法,则确实希望代码能够表现出合理的行为。我已经对答案进行了修改,以解决您在第一条评论中提出的问题。