您好,登錄后才能下訂單哦!
如何用R語言畫森林圖展示Logistic回歸分析的結果,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
就采用表格的形式展示Logistic回歸分析的結果,上述表格把有統計學意義的結果進行了加粗,使得讀者看起來不那么費勁。那么,有沒有更加直觀的方法展示回歸結果呢?當然有,那就是森林圖。近年來,越來越多文獻用森林圖來展示回歸的結果。接下來我們一起來學習一下如何用R作森林圖。
森林圖展示的數據通常是Logistic回歸分析的系數和95%置信區間以及顯著性檢驗的P值,那么如何獲得這些結果呢?
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)
導出數據以后需要自己手動添加一行, 最終作圖的數據如下
這里準備數據的過程稍微有些繁瑣了,不知道大家有沒有簡便的方法呢?歡迎留言討論呀!
首先是安裝
install.packages("forestplot")
讀入數據并作圖
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)
接下來是簡單的美化
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)
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。