使用R语言进行logistic回归分析(1)

一、问题及数据集描述

三种药物对于不同病情的某病的治疗效果
 病情 有效(1) 无效(0)
甲药(0)轻(1) 38 64
 重(0) 10 82
      
乙药(1)轻(1) 95 18
 重(0) 50 35
      
丙药(2)轻(1) 88 26
 重(0) 43 37

某研究者欲比较3种不同的药物治疗病情不同的某病的效果,研究数据见上表,试对数据进行logistic回归,并进行统计推断。

二、定义变量,分析思路

本例中某种药物有效为1,无效为0,即某种药物的治疗效果y取值为1或0,p为某种药物有效的概率,E(y)=p即是变量y的期望。自变量为病情的轻重,轻为1,重为0,本例已给出病情轻重的样本数据,本例回归模型即是f(E(y))=β_{0}^{_{1}}x。

因此定义y1,y2,y3分别为某种药物的治疗的效果,取值为1或0,有效为1,无效为0,定义x1,x2,x3分别为每种药物下实验下病情轻重样本数据,也用1和0表示。x为0代表为轻症状,x为1为重症状。

根据本例的数据可以得到:

x1<-rep(c(1,0,c(102,92))

x2<-rep(c(1,0),c(113,85))

x3<-rep(c(1,0),c(114,80))

y1<-rep(c(1,0,1,0),c(38,64,10,82))

y2<-rep(c(1,0,1,0),c(95,18,50,35))

y3<-rep(c(1,0,1,0),c(88,26,43,37))

现分别对上面定义的变量进行logistic回归分析。

三、logistic回归分析

对甲药物:

df1<-data.frame(y1,x1)
log.reg1<-glm(y1~x1,family = binomial,data=df1)
summary(log.reg1)

运行得到:

从回归结果来看,回归方程系数显著。

于是得到的logistic回归模型为:

p1=exp(-2.1041+1.5828x1)/(1+exp(-2.1041+1.5828x1))

即是logit(p1)=-2.1041+1.5828x1

使用同样的方法,对乙药物丙药物也做logistic回归,分别得到下面的回归方程,回归系数都显著。

p2=exp(0.3567+1.3068x2)/(1+exp(0.3567+1.3068x2))

p3=exp(0.1503+1.069x3)/(1+exp(0.1503+1.069x3))

四、统计推断

对于甲药物,当x1=1时,求病情较轻时药物的有效的概率,使用如下命令:

log.pre1<-predict(log.reg1,data.frame(x1=1))
p1<-exp(log.pre1)/(1+exp(log.pre1))
p1

运行得到

当x1=0时,求病情较重时药物的有效的概率,使用如下命令:

log.pre1<-predict(log.reg1,data.frame(x1=0))
p1<-exp(log.pre1)/(1+exp(log.pre1))
p1

对乙药物和丙药物分别重复上面的过程得到下表:

药物有效的概率
药物甲药物乙药物丙药物
病情轻0.3725490.8407080.7719298
病情重0.10869570.58823530.5375

从上面直观的看出,药物乙对于病情轻和病情重都有较高的有效率。

本文分析结束。

  • 18
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值