admin管理员组文章数量:1794759
R语言
1.解决问题
很成人动漫网多激素水平、药物剂量和疾病的关系,都不是简单的直线关系,都存在从量变到质变的现象,二者是非线性关系。找到非线性关系是研究的亮点。
例如研究人群的收缩压(SBP)随年泰国鬼片龄的变化,由下图看出女性群体的SBP随着年龄,开始是缓慢在增长,而在某个阈值之后增长速度就比较快,变化趋势不是直线变化,而是非线性的增你要去哪里长。这种年龄超过某一点后,对SBP作用的大小发生变化的现象称之为阈值社交恐惧症治疗效应,发现阈值效应是一篇文章的亮点。
创新基金申请 本文主要介绍gam模型拟合因变量为连续变量的平滑曲线,用于观察研究因素X和结局变量Y的非线性关系,并根据递归算法计算拐点,然后采用分段回归模型进行阈值效应分析。
2.案例分析
本案例数据来自外部数12334据集,共计124名癌症患者,因变量为“血红蛋白浓度HB”,自变量是患者的年龄Age,并调整患者性别,现研究患者的血红蛋白浓度随着年龄的变化,以及年龄对HB的效应。
2.1 加载数据
加载R包mgcv,加载数据
library(mgcv)library(writexl)library(腾讯军事dplyr)dt <- read.csv('jixian.csv')2.2 数据说明
HB 血红蛋白;
GENDER 性别 1=女;2=男
AGE 年龄
TIME 生存时间;
STATUS 生存状态 0 =生存,1 =死亡;
2.3 拟合平滑曲线
2.3.1 构建模型
我们就可以使用mgcv::gam()函数拟合平滑曲线。
fml<- "HB~s(AG速冻虾仁E,fx=FALSE)+GENDER"gam1<-mgcv::gam(formula(fml),weights=dt$weights,data=dt, family=gaussian(link="identity")2.3.2 计算拟合值
pred<-predict.gam(gam1,type="terms",se.fit=TRUE)mfit <- pred$fit[,"s(AGE)"]sfit <- pred$se.fit[,"s(AGE)"]dt<-cbind(dt,m淘宝皇冠店铺fit,sfit)2.3.3 计算95%CI
y.low <- dt$mfit-1.96*dt$sfit; y.upp<-dt$mfit+1.96*dt$sfitdt <- cbind(dt,y.low,y.upp)2.3.4 绘制曲线
dt <- arrange(dt,AGE)co <- c(24,84,94,138) ##定义坐标col <- c('blue','purple')plot(dt$mfit~dt$AGE,ylim=c(co[3],co[4]),xlim=c(co[1],co[2]),col=col[1],type="l", lty=1, lwd=2, ylab="", xlab="")par(new=TRUE); plot(dt$y.low~dt$AGE,ylim=c(co[3],co[4]),xlim=c(co[1],co[2]),col=col[2], type="l", lty=3, lwd=1, ylab="", xlab="")par(new=TRUE); plot(dt$y.upp~dt$AGE,ylim=c(co[3],co[4]),xlim=c(co[1],co[2]),col=col[2], type="l", lty=3, lwd=1, ylab='HB', xlab='AGE')rug(dt$AGE,col='blue')图形解读:
上图是平滑曲线拟合图,横坐标是年龄(连续变量),纵坐标是HB的浓度,中间的实线是拟合线,两边的虚线是95%可信区间。可以看到两者是U型的曲线关系。
调整广州仁爱医院年龄后,可以看出随着年龄增加HB浓度先降低后增加,画图非常直观,这两个变量的关系非常清晰的展示出来了。比起看回归分析结果的数字要舒服多了。让审稿人和读者看着舒服。通过平滑曲线拟合,可以看出调整性别后,HB随着年龄道可道非常道变化呈现非线性变化,在年龄超过某个阈值后,HB开始增加,二者存在分段的线性关系,继续寻找拐点做阈值分析。
2.4 阈值效应分析
2.4.1 计算拐点
source('get_cutoff_lm.R')cut_off <- get_cutoff_lm('AGE',dt,fml)print(cut_off )2.4.2 生成分段变量
x <-dt[,i] X1 <-(x<=cut_off)*(x-cut_off) X2 <-(x> cut_off)*(x-cut_off中华龙鸟) dt1 <-cbind(dt,慢性咽炎如何治疗x,X1,X2)2.4.3 构建分段模型
mdl0<- glm(HB~x+X2+GENDER,family="gaussian",w咖啡机推荐eights=dt1$weights,data甲午风云电影=dt1)mdl1<- glm(HB~X1+X2+GENDER,family="gaussian",weights=dt1$weights,data=dt1)大三阳的治疗mdl2<- glm(HB~x+GENDER,family="gaussian",weights=dt1$weights,data=dt1);2.4.4 结果解释
mdl0是调整分段回归模型;mdl1是根据拐点拟合两段模型,比较两段模型的效应值;mdl2是线性回归模型
直线拟合数据
summary(mdl2)半导体器件基础 结果解读:
用直线拟合数据,在调整性别后,结果是age每增长一岁,HB减少-0.083单位,95%置信区间是,P=0.587,没有显著统计学差异。
分段拟合数据
采用似然比检验分段模型和直线模型的统计学差异
summary(mdl1)summary(mdl0)###似然比检验round(1-pchisq(2*(logLik(mdl0)[1]-logLik(mdl2)[1]),1),3)##0.027结果解读
所求的最佳拐点为年龄等于60,根据两段模型结果,age在60以前,每增加一岁,HB减少-0.559个单位,P<0.手机性价比排行05;age在60岁后,每增加一岁,HB增加0.68个单位,P<0.1。两段模型的回归系数差1.24,系数P<拯救肯尼迪;0.05;比较分段模型与原直线模型的的似然比,得出P<0.05,分段模型的似然值大于直线模型的似然值,说明分段模型更优,且两个模型具有统计学差异,表明适合用分段模型拟合,也就是说拐点是显著存在的。这跟前面曲线拟合图是一致的绘制图形。
绘找小姐经历制曲线
3 更多阅读
完整文章在公粽号:易学统计(专注临床科研)
更多临床统计小知识~如果您觉得文章不错,为我们点赞留言吧!
本文标签: 语言
版权声明:本文标题:R语言 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1685942120a14463.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论