R繪制小提琴圖

大家可能在平時的文獻閱讀很少會看到小提琴圖,因為現(xiàn)在小提琴圖還不是很普遍,但是在一些高分論文我們會看到漂亮的小提琴圖,如:

這篇文章2016年發(fā)表在Nature medicine(IF=30.64)上,文章鏈接:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4938719/pdf/nihms786454.pdf

小提琴圖是一種用來描述定量數(shù)據(jù)的分布的統(tǒng)計圖,多個小提琴圖放在一起,可以直觀地比較數(shù)據(jù)分布的差別。

這里介紹用R語言畫小提琴圖。R有兩個包可以畫小提琴圖,分別是vioplot包和ggplot2包,下面給大家介紹用vioplot包畫小提琴圖。

1. 安裝并加載包:

install.packages(“vioplot”) #如果已經(jīng)安裝了就不用再安裝了?

library(vioplot)

2. 讀取SPSS數(shù)據(jù)

install.packages(“Hmisc”)

library(Hmisc)?

data=spss.get("F:\\data\\baby weight.sav")

讀取數(shù)據(jù)后先查看一下數(shù)據(jù):

?View(data)

這是一個嬰兒出生體重的數(shù)據(jù),共有8個變量,367個觀測。今天我們要觀察母親不同吸煙狀態(tài)(smoke)的嬰兒出生體重(babyweight)的分布,查看這兩個數(shù)據(jù):

table(data$smoke)

母親吸煙狀態(tài)是分類變量,0:從不吸煙 1:懷孕時仍在吸煙 2:懷孕期間或之前戒煙

range(data$babyweight)

Babyweight是連續(xù)性變量,范圍是71-173,單位是盎司

3. 畫圖

x1=data$babyweight[data$smoke==0] # 讓x1等于數(shù)據(jù)中smoke=0的babyweight的變量值,以便后面調(diào)用?

x2=data$babyweight[data$smoke==1] x3=data$babyweight[data$smoke==2]?

vioplot(x1,x2,x3,names=c("never smoking","still smoking","quit smoking"),col="gold") #如果您想要其他不同的顏色,可更改col=”其他顏色”,如col=”green”等

其他顏色:

vioplot(x1,x2,x3,names=c("never smoking","still smoking","quit smoking"),col=c("red","gold","blue"))

當(dāng)然了,你也可以用調(diào)色板的顏色,代碼如下:

vioplot(x1,x2,x3,names=c("never smoking","still smoking","quit smoking"),col=c("#9999FF","#CC99FF","#FF99FF"))

4. 給圖加上標(biāo)題

title("Violin Plot of baby weight on smoke")

5. 圖形解讀:

1表示中位數(shù),2表示上四分位數(shù),3表示下四分位數(shù)。

圖形的琴體,展示的是頻率分布,它越寬,表示某個取值附近頻率越大。例如never smoking這組,在中位數(shù)附近頻率最大,而quit smoking則在略大于中位數(shù)的取值頻率最大。琴體較窄的部分,頻率較小,一般都是接近最小值和最大值的兩端。另外,還可以看到母親懷孕時仍在吸煙這組的嬰兒出生體重的中位數(shù)比其他兩組低, 但是差異是否有統(tǒng)計學(xué)意義,還要作統(tǒng)計推斷才知道。

歡迎大家關(guān)注R語言與SPSS學(xué)習(xí)筆記公眾號

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容