溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何用R語言畫森林圖展示Logistic回歸分析的結(jié)果

發(fā)布時間:2021-11-22 16:01:00 來源:億速云 閱讀:1184 作者:柒染 欄目:大數(shù)據(jù)

如何用R語言畫森林圖展示Logistic回歸分析的結(jié)果,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

如何用R語言畫森林圖展示Logistic回歸分析的結(jié)果    
image.png

就采用表格的形式展示Logistic回歸分析的結(jié)果,上述表格把有統(tǒng)計學(xué)意義的結(jié)果進行了加粗,使得讀者看起來不那么費勁。那么,有沒有更加直觀的方法展示回歸結(jié)果呢?當(dāng)然有,那就是森林圖。近年來,越來越多文獻用森林圖來展示回歸的結(jié)果。接下來我們一起來學(xué)習(xí)一下如何用R作森林圖。

 第一步是準(zhǔn)備數(shù)據(jù)

森林圖展示的數(shù)據(jù)通常是Logistic回歸分析的系數(shù)和95%置信區(qū)間以及顯著性檢驗的P值,那么如何獲得這些結(jié)果呢?

logistic回歸分析的代碼

data(Affairs,package = "AER")
df<-Affairs
df$ynaffairs<-ifelse(df$affairs>0,1,0)
df$ynaffairs<-factor(df$ynaffairs,
                     levels = c(0,1),
                     labels = c("No","Yes"))
fit.full<-glm(ynaffairs~gender+age+yearsmarried+
                children+religiousness+education+occupation+rating,
              data=df,family = binomial())

fit.result<-summary(fit.full)
df1<-fit.result$coefficients
df2<-confint(fit.full)
df3<-cbind(df1,df2)
df4<-data.frame(df3[-1,c(1,4,5,6)])
df4$Var<-rownames(df4)
colnames(df4)<-c("OR","Pvalue","OR_1","OR_2","Var")
df5<-df4[,c(5,1,2,3,4)]
df5$OR_mean<-df5$OR
df5$OR<-paste0(round(df5$OR,2),
               "(",
               round(df5$OR_1,2),
               "~",
               round(df5$OR_2,2),
               ")")
df5$Pvalue<-round(df5$Pvalue,3)
write.csv(df5,file = "forestplot_example.csv",
          quote = F,row.names = F)
 

導(dǎo)出數(shù)據(jù)以后需要自己手動添加一行, 最終作圖的數(shù)據(jù)如下如何用R語言畫森林圖展示Logistic回歸分析的結(jié)果

這里準(zhǔn)備數(shù)據(jù)的過程稍微有些繁瑣了,不知道大家有沒有簡便的方法呢?歡迎留言討論呀!

 接下來作圖使用forestplot這個包

首先是安裝

install.packages("forestplot")
 

讀入數(shù)據(jù)并作圖

library(forestplot)
fp<-read.csv("forestplot_example.csv",header=T)

forestplot(labeltext=as.matrix(fp[,1:3]),
           mean=fp$OR_mean,
           lower=fp$OR_1,
           upper=fp$OR_2,
           zero=0,
           boxsize=0.2,
           graph.pos=2)
 
如何用R語言畫森林圖展示Logistic回歸分析的結(jié)果  
image.png

接下來是簡單的美化

forestplot(labeltext=as.matrix(fp[,1:3]),
           mean=fp$OR_mean,
           lower=fp$OR_1,
           upper=fp$OR_2,
           zero=0,
           boxsize=0.2,
           lineheight = unit(7,'mm'),
           colgap=unit(2,'mm'),
           lwd.zero=1.5,
           lwd.ci=2, 
           col=fpColors(box='#458B00',
                        summary='#8B008B',
                        lines = 'black',
                        zero = '#7AC5CD'),
           xlab="OR",
           lwd.xaxis =1,
           txt_gp = fpTxtGp(ticks = gpar(cex = 0.85),
                            xlab  = gpar(cex = 0.8),
                            cex = 0.9),
           lty.ci = "solid",
           title = "Forestplot", 
           line.margin = 0.08,
           graph.pos=2)
 
如何用R語言畫森林圖展示Logistic回歸分析的結(jié)果  

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI