回复 第2楼 的 lovecos:
所以又修改了一下,并添加了注释。</p>
<p>library(ggplot2)<br />
library(scales)<br />
library(ISwR)<br />
#回归分析,ISwR数据<br />
options(na.action=na.exclude)<br />
#进行回归分析</p>
<p>lm.velo<-lm(short.velocity~blood.glucose,data=thuesen)<br />
#画图,做回归线<br />
qplot(blood.glucose,short.velocity,data=thuesen)+geom_smooth(method="lm")<br />
#预测值<br />
fitted(lm.velo)<br />
#残差<br />
resid(lm.velo)<br />
#计算prediction bands,就是预测值的误差<br />
#提取方法,predict(lm.velo,int="p")<br />
#先定义自变量的范围,要使用data.frame格式<br />
pred.frame <- data.frame(blood.glucose=thuesen$blood.glucose)<br />
##pp里包含了预测值及其上下可信区间<br />
pp<-predict(lm.velo,int="p",newdata=pred.frame)<br />
#将自变量和预测值合并为一个df<br />
mydf<-data.frame(pred.frame,pp)<br />
#将预测值,原始数据和残差合并为一个df<br />
my.naexclude <- data.frame(thuesen,fitted=fitted(lm.velo),resid=resid(lm.velo))<br />
my.naexclude <- my.naexclude[!is.na(my.naexclude$short.velocity),]</p>
<p>#画回归,链接点和回归线<br />
qplot(blood.glucose,short.velocity,data=my.naexclude)+<br />
geom_smooth(method="lm")+ #geom_smooth可以直接画出y的mean structure的可信区间,用se=T/F控制<br />
#linerange用来连接y的实际数据和预测值<br />
geom_linerange(aes(ymin=fitted,ymax=short.velocity),data=my.naexclude,fullrange=T,colour="grey50")+<br />
#geom_ribbon用来画预测值的可信区间<br />
geom_ribbon(aes(x=blood.glucose,y=NULL,ymin=lwr,ymax=upr),data=mydf,fill="red",alpha=I(1/10))<br />
本文来自: 人大经济论坛 S-Plus&R专版 版,详细出处参考: http://bbs.pinggu.org/forum.php?mod=viewthread&tid=1439399&page=1
这是原文的代码,我是想模仿你给我的那2个连接中的例子,添加1个图利,就是颜色和我图中的一样,文字我自己写...我说清楚了吗......
</p>