非癌癥也能看風(fēng)險(xiǎn),R語言單因素logistic回歸
爾云間? 一個(gè)專門做科研的團(tuán)隊(duì)
? ? ?

小云今天接觸到了非癌癥的分析,癌癥分析有癌癥分析的方法,非癌癥也有非癌癥的分析方法,小云找了個(gè)代碼,可以做非癌癥的單因素分析,我們一起來看看吧。

代碼如下:
data=read.table("D:/非酒精脂肪肝與肝癌/診斷模型/單因素.txt",header = T,row.names = 1,sep "\t") #讀取數(shù)據(jù)
#這里說一下讀取的數(shù)據(jù),第一列為樣本名,第二列為分組,一般是二分組,也就是患病與正常。后面的各列就是各基因的表達(dá)量
View(data) #查看數(shù)據(jù)
library(gtsummary) #啟動(dòng)程序包
glm1<- glm(group==1~UBE2T,
? ? ? ? ? ? family = binomial,
? ? ? ? ? ? data = data)
res<-tbl_regression(glm1,?
? ? ? ? ? ? ? ? ? ? ?exponentiate=T)
#先來計(jì)算一個(gè)基因試一下
Res
#查看結(jié)果
?

#這就是結(jié)果了,我們可以看到,這里的P值是0.005,說明這個(gè)基因和我們的分組是密切相關(guān)的,OR就是風(fēng)險(xiǎn)率,這里的風(fēng)險(xiǎn)率是4.34,而范圍是1.59-12.6.
Uni_glm_model=function(x){ #寫循環(huán)函數(shù)
? FML=as.formula(paste0("group==1~",x)) #構(gòu)筑分析
? glm1<- glm(FML,family = binomial,data = data) #單因素分析
? glm2=summary(glm1) #處理分析結(jié)果
? OR=round(exp(coef(glm1)),2) #提取風(fēng)險(xiǎn)率
? SE=glm2$coefficients[,2]
? CI5=round(exp(coef(glm1)-1.96*SE),2) #計(jì)算風(fēng)險(xiǎn)率范圍
? CI95=round(exp(coef(glm1)+1.96*SE),2)
? CI=paste0(CI5,"-",CI95)
? P=round(glm2$coefficients[,4],4) #提取P值,保留4位小數(shù)
? Uni_glm_model <- data.frame("characteristics"=x,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "OR"=OR,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "CI"=CI,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "p"=P)[-1,]
? return(Uni_glm_model)
}
variable.names=colnames(data)[c(2:26)] #把要分析的基因放進(jìn)去
Uni_glm=lapply(variable.names,Uni_glm_model) #應(yīng)用函數(shù)
library(plyr) #啟動(dòng)程序包
Uni_glm=ldply(Uni_glm,data.frame) #整理成數(shù)據(jù)框
?

最后得到的結(jié)果就是這樣的,有了這些數(shù)據(jù),我們就可以去畫森林圖了。
好了,小伙伴們,今天的主要內(nèi)容就是這些了,小云覺得這個(gè)分析方法還是挺實(shí)用的,小伙伴們有什么需要分享和討論的都可以來找小云啊,小云非常高興和大家交流。

非癌癥也能看風(fēng)險(xiǎn),R語言單因素logistic回歸的評(píng)論 (共 條)
