如何在R语言中使用多元logistic回归模型型

君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
如何在R语言中使用Logistic回归模型?
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口R语言基础入门之六:Logistic回归 - 生物信息 - 生物秀
标题: R语言基础入门之六:Logistic回归
摘要: [R语言基础入门之六:Logistic回归]让我们用logistic回归来结束本系列的内容吧,本文用例来自于John Maindonald所著的《Data Analysis and Graphics Using R》一书,其中所用的数据集是anesthetic,数据集来自于一组医学数据,其中变量conc表示麻醉剂的用量,move则表示手术病人是否有所移动,而…… [关键词:回归 麻醉 剂量 因变量 概率 密度 麻醉剂]……
让我们用logistic回归来结束本系列的内容吧,本文用例来自于John Maindonald所著的《Data Analysis and Graphics Using R》一书,其中所用的数据集是anesthetic,数据集来自于一组医学数据,其中变量conc表示麻醉剂的用量,move则表示手术病人是否有所移动,而我们用nomove做为因变量,因为研究的重点在于conc的增加是否会使nomove的概率增加。
首先载入数据集并读取部分文件,为了观察两个变量之间关系,我们可以利cdplot函数来绘制条件密度图
library(DAAG)
head(anesthetic)
cdplot(factor(nomove)~conc,data=anesthetic,main="条件密度图",ylab="病人移动",xlab="麻醉剂量")
从图中可见,随着麻醉剂量加大,手术病人倾向于静止。下面利用logistic回归进行建模,得到intercept和conc的系数为-6.47和5.57,由此可见麻醉剂量超过1.16(6.47/5.57)时,病人静止概率超过50%。
anes1=glm(nomove~conc,family=binomial(link="logit"),data=anesthetic)
summary(anes1)
上面的方法是使用原始的0-1数据进行建模,即每一行数据均表示一个个体,另一种是使用汇总数据进行建模,先将原始数据按下面步骤进行汇总
anestot=aggregate(anesthetic[,c("move","nomove")],by=list(conc=anesthetic$conc),FUN=sum)
anestot$conc=as.numeric(as.character(anestot$conc))
anestot$total=apply(anestot[,c("move","nomove")],1,sum)
anestot$prop=anestot$nomove/anestot$total
得到汇总数据anestot如下所示
conc move nomove total?prop
10.8?6?1? 7 0.1428571
21.0?4?1? 5 0.2000000
31.2?2?4? 6 0.6666667
41.4?2?4? 6 0.6666667
51.6?0?4? 4 1.0000000
62.5?0?2? 2 1.0000000
对于汇总数据,有两种方法可以得到同样的结果,一种是将两种结果的向量合并做为因变量,如anes2模型。另一种是将比率做为因变量,总量做为权重进行建模,如anes3模型。这两种建模结果是一样的。
anes2=glm(cbind(nomove,move)~conc,family=binomial(link="logit"),data=anestot)
anes3=glm(prop~conc,family=binomial(link="logit"),weights=total,data=anestot)
根据logistic模型,我们可以使用predict函数来预测结果,下面根据上述模型来绘图
x=seq(from=0,to=3,length.out=30)
y=predict(anes1,data.frame(conc=x),type="response")
plot(prop~conc,pch=16,col="red",data=anestot,xlim=c(0.5,3),main="Logistic回归曲线图",ylab="病人静止概率",xlab="麻醉剂量")
lines(y~x,lty=2,col="blue")
本文来自:/2011/11/rlogistic.html
相关热词:
..........
生物秀是目前国内最具影响力的生物医药门户网站之一,致力于IT技术和BT的跨界融合以及生物医药领域前沿技术和成功商业模式的传播。为生物医药领域研究人员和企业提供最具价值的行业资讯、专业技术、学术交流平台、会议会展、电子商务和求职招聘等一站式服务。
官方微信号:shengwuxiu
电话:021-

我要回帖

更多关于 r语言做logistic回归 的文章

 

随机推荐