楼主: peijianshi
43295 14

[问答] R中,对于一元线性回归,如何给出预测直线的95%置信区间? [推广有奖]

  • 0关注
  • 16粉丝

已卖:352份资源

副教授

80%

还不是VIP/贵宾

-

威望
0
论坛币
638 个
通用积分
2.3662
学术水平
12 点
热心指数
12 点
信用等级
5 点
经验
15373 点
帖子
636
精华
0
在线时间
568 小时
注册时间
2010-3-11
最后登录
2022-9-8

楼主
peijianshi 发表于 2012-5-12 14:27:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
R中,对于一元线性回归,如何在图形给出预测直线的95%置信区间?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:一元线性回归 置信区间 线性回归 如何 置信区间

R万岁!

沙发
gamebabycn 发表于 2012-5-12 14:28:49
R不会。。。。
我累,我睡!

藤椅
凉水泡茶11 发表于 2012-5-12 14:31:20
有点难度啊

板凳
chenji68 发表于 2012-6-30 14:11:16
给95% CI 得出a=0.025 然后用t-test

报纸
whatsupman 发表于 2012-7-1 13:04:46
可以用lines函数
已有 1 人评分热心指数 收起 理由
耕耘使者 + 1 热心帮助其他会员

总评分: 热心指数 + 1   查看全部评分

地板
firelife 发表于 2012-7-1 14:25:22
用ggplot2比较的容易

#回归分析,ISwR数据
options(na.action=na.exclude)
#进行回归分析
lm.velo<-lm(short.velocity~blood.glucose)
#画图,做回归线
qplot(blood.glucose,short.velocity,data=thuesen)+geom_smooth(method="lm")
plot(blood.glucose,short.velocity)
#预测值
fitted(lm.velo)
#残差
resid(lm.velo)
#计算prediction bands,就是大的误差,不知道不这样计算,能不能直接提取出来
#提取方法,predict(lm.velo,int="p")
pred.frame <- data.frame(blood.glucose=thuesen$blood.glucose)
pp<-predict(lm.velo,int="p",newdata=pred.frame)
mydf<-data.frame(pred.frame,pp)
my.naexclude <- data.frame(thuesen,fitted=fitted(lm.velo),resid=resid(lm.velo))
#画回归,链接点和回归线
qplot(blood.glucose,short.velocity,data=my.naexclude)+
  geom_smooth(method="lm")+
  geom_linerange(aes(ymin=fitted,ymax=short.velocity),fullrange=T,colour="grey50")+
  geom_ribbon(aes(x=blood.glucose,ymin=lwr,ymax=upr),data=mydf,fill=alpha("red",I(1/10)))
已有 2 人评分学术水平 热心指数 收起 理由
xihongshi2004 + 1 + 2 精彩帖子
耕耘使者 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 3   查看全部评分

7
耕耘使者 发表于 2012-7-1 23:45:54
firelife 发表于 2012-7-1 14:25
用ggplot2比较的容易

#回归分析,ISwR数据
ggplot2中并没有ISwR这个数据集

8
firelife 发表于 2012-7-2 06:58:59
耕耘使者 发表于 2012-7-1 23:45
ggplot2中并没有ISwR这个数据集
呵呵,写错了,是ISwR里的数据

9
耕耘使者 发表于 2012-7-2 17:52:43
firelife 发表于 2012-7-2 06:58
呵呵,写错了,是ISwR里的数据
找不到对象'thuesen'

10
firelife 发表于 2012-7-2 21:41:05
上面是用ggplot2 0.89写的,有些地方不能运行了
所以又修改了一下,并添加了注释。

library(ggplot2)
library(scales)
library(ISwR)
#回归分析,ISwR数据
options(na.action=na.exclude)
#进行回归分析

lm.velo<-lm(short.velocity~blood.glucose,data=thuesen)
#画图,做回归线
qplot(blood.glucose,short.velocity,data=thuesen)+geom_smooth(method="lm")
#预测值
fitted(lm.velo)
#残差
resid(lm.velo)
#计算prediction bands,就是预测值的误差
#提取方法,predict(lm.velo,int="p")
#先定义自变量的范围,要使用data.frame格式
pred.frame <- data.frame(blood.glucose=thuesen$blood.glucose)
##pp里包含了预测值及其上下可信区间
pp<-predict(lm.velo,int="p",newdata=pred.frame)
#将自变量和预测值合并为一个df
mydf<-data.frame(pred.frame,pp)
#将预测值,原始数据和残差合并为一个df
my.naexclude <- data.frame(thuesen,fitted=fitted(lm.velo),resid=resid(lm.velo))
my.naexclude <- my.naexclude[!is.na(my.naexclude$short.velocity),]

#画回归,链接点和回归线
qplot(blood.glucose,short.velocity,data=my.naexclude)+
  geom_smooth(method="lm")+ #geom_smooth可以直接画出y的mean structure的可信区间,用se=T/F控制
  #linerange用来连接y的实际数据和预测值
  geom_linerange(aes(ymin=fitted,ymax=short.velocity),data=my.naexclude,fullrange=T,colour="grey50")+
  #geom_ribbon用来画预测值的可信区间
  geom_ribbon(aes(x=blood.glucose,y=NULL,ymin=lwr,ymax=upr),data=mydf,fill="red",alpha=I(1/10)) Rplot01.png



您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-5 11:36