本文希望教會大家運用R語言繪製箱線圖和小提琴圖。 小提琴圖能同時查看資料的分佈和描述性統計, 是一種非常實用的視覺化圖形。
箱線圖/盒須圖繪製連續型變數常用的五個描述性統計量, 從下到上依次是:最小值, 下四分位數(25%分位數), 中位數(50%分位數), 上四分位數(75%分位數), 最大值。
箱線圖能夠顯示出可能的離群點,
即上下四分位數以外的點
箱線圖由boxplot(formula, data=dataframe)命令得到
formula表示一個公式, y~A, 將為類別變數A的每個值並列地生成數值型變數y的箱線圖
y~A*B, 將為類別變數A和B所有水準的組合生成數值型變數y的箱線圖
dataframe代表提供的資料
資料查看利用自帶的資料集mtcars, 查看資料的頭幾行
head(mtcars)資料集mtcars
簡單箱線圖對mtcars的每加侖汽油行駛英里數mpg繪製箱線圖
boxplot(mtcars$mpg)
簡單箱線圖
並列箱線圖對發動機的不同缸數cyl繪製並列箱線圖
boxplot(mpg~cyl,data=mtcars,main="並列箱線圖",xlab="發動機的缸數",ylab="每加侖汽油行駛英里數")
並列箱線圖
從圖中可以看出, 不同組之間的油耗差距是非常大的。 6缸車型的每加侖汽油行駛的英里數分佈較其他兩種車型均勻, 與6缸和8缸車型相比, 4缸車型的每加侖汽油行駛的英里數分佈最分散且呈正偏, 在8缸車型的分組還存在一個離群點。
notch=TRUE, 得到帶有凹槽的箱線圖, 在中位數處產生凹槽
varwidth=TRUE, 使箱線圖的寬度與它們對應的樣本數量成正比, 越寬代表樣本數量越多
boxplot(mpg~cyl,data=mtcars,notch=TRUE,varwidth=TRUE,col="red",main="凹槽箱線圖",xlab="發動機的缸數",ylab="每加侖汽油行駛英里數")
凹槽箱線圖
交叉因數箱線圖創建變速箱am和氣缸數量cyl的交叉因數的箱線圖
交叉因數箱線圖
0.4 表示變速箱類型是0, 發動機缸數是4時, 每加侖汽油行駛英里數的分佈
1.4 表示變速箱類型是1, 發動機缸數是4時, 每加侖汽油行駛英里數的分佈
其他類似
結果表明, 油耗隨著缸數的減少而下降,
小提琴圖是箱線圖和核密度圖的結合, 在縱軸展示了資料分佈的核密度估計曲線
使用vioplot包中的 vioplot( )函數繪製
vioplot(x1,x2,names=,col= )
其中x1,x2是要繪製的一個或者多個數值向量
names=" " 是標籤的名稱
col=" "用於指定小提琴圖的顏色
library(vioplot)#載入需要的包x1=mtcars$mpg[mtcars$cyl==4]x2=mtcars$mpg[mtcars$cyl==6]x3=mtcars$mpg[mtcars$cyl==8]vioplot(x1,x2,x3,names=c("4缸","6缸","8缸"),col="gold")title("每加侖汽油行駛英里數的小提琴圖")
小提琴圖
在小提琴圖中,白點是中位數,黑色盒子的範圍是上下四分位點,細黑線表示的須的範圍是最大和最小值
外部形狀即為分佈的核密度估計
小提琴圖
在小提琴圖中,白點是中位數,黑色盒子的範圍是上下四分位點,細黑線表示的須的範圍是最大和最小值
外部形狀即為分佈的核密度估計