Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从统计平滑中提取精确95%置信值的方法(方法=“glm”)_R_Ggplot2_Confidence Interval - Fatal编程技术网

R 从统计平滑中提取精确95%置信值的方法(方法=“glm”)

R 从统计平滑中提取精确95%置信值的方法(方法=“glm”),r,ggplot2,confidence-interval,R,Ggplot2,Confidence Interval,我使用ggplot2生成了一个glm交互图。我已经附上了我使用的代码和情节 我知道灰色阴影区域代表95%的置信区间,但我想知道是否有一种方法可以获得灰色阴影区域的准确值,从而获得95%的置信区间 #bind data togther Modern\u EarlyHolocene您可以使用layer\u数据(Modern\u EarlyHolocene\u plot,i)访问反绘图数据,i对应于要返回的图层,按照添加到绘图的顺序您有效地为每个时间段拟合了不同的回归线,因此您的glm必须包含一个

我使用ggplot2生成了一个glm交互图。我已经附上了我使用的代码和情节

我知道灰色阴影区域代表95%的置信区间,但我想知道是否有一种方法可以获得灰色阴影区域的准确值,从而获得95%的置信区间

#bind data togther

Modern\u EarlyHolocene您可以使用
layer\u数据(Modern\u EarlyHolocene\u plot,i)
访问反绘图数据,i对应于要返回的图层,按照添加到绘图的顺序

您有效地为每个时间段拟合了不同的回归线,因此您的glm必须包含一个交互项。应该是:

Modern_EarlyHolocene<-glm(Max_Height~Age*Time_period, data=Modern_EarlyHolocene)

要获得预测的se,请执行以下操作:

pred = predict(fit,iris,se.fit = TRUE)
df_pred = data.frame(iris,pred=pred$fit,se=pred$se)
我们可以对此进行绘制,预测的上下限为1.96*标准误差:

g2 = ggplot(df_pred,aes(x=Sepal.Length,y=Sepal.Width,color=Species)) +
geom_point( alpha = .7) + 
geom_ribbon(aes(ymin=pred-1.96*se,ymax=pred+1.96*se,fill=Species),alpha=0.1)

非常感谢,这很有帮助!然而,我问我是否可以提取/列出它用于确定置信区间的准确值?当您执行pred=predict(fit,iris,se.fit=TRUE)时,标准误差值以pred$se为单位+/-本se的1.96是置信区间的上限和下限。这些是ggplot2中用于确定置信区间的精确值,如我在上面的示例中所示。好吧,我明白了!不能将拟合对象指定给相同的名称。fitSE=预测(fit,现代_早更新世)$seSo标准误差是否与statsmooth产生的95%置信值相同?
fit = glm(Sepal.Width ~ Sepal.Length * Species,data=iris)
g1 = ggplot(iris,aes(x=Sepal.Length,y=Sepal.Width,color=Species)) +
geom_point( alpha = .7) + stat_smooth(method = "glm", level=0.95)
pred = predict(fit,iris,se.fit = TRUE)
df_pred = data.frame(iris,pred=pred$fit,se=pred$se)
g2 = ggplot(df_pred,aes(x=Sepal.Length,y=Sepal.Width,color=Species)) +
geom_point( alpha = .7) + 
geom_ribbon(aes(ymin=pred-1.96*se,ymax=pred+1.96*se,fill=Species),alpha=0.1)