1. 程式人生 > 其它 >資料視覺化(直方圖、累積分佈圖、箱線圖、點陣圖)

資料視覺化(直方圖、累積分佈圖、箱線圖、點陣圖)

1視覺化探索

1.1 直方圖

這是一種簡單快速探索資料分佈的方式。以Insurance資料集中過的“索賠量”變數Claims為例,觀察該變數的分佈情況。

hist(Insurance$Claims,main="Histogram of Freq of Insurance$Claims")

結果分析:從圖中可以看出觀測樣本多集中與0-50組,一般開說,要求索賠人數大多小於50,且呈明顯下降趨勢,即索賠量越高的樣本量越少。

將引數freq設定為F可以繪製密度直方圖,以各組的概率密度來確定矩形高度,density引數用來為各矩形新增陰影,取值越大陰影越深。

hist(Insurance$Claims,freq=F,density=20,main="Histogram of Freq of Insurance$Claims")

lines(density(Insurance$Claims)) #新增概率密度曲線

hist(Insurance$Claims,breaks=20,labels=T,col="black",border="white",main="Histogram of Freq of Insurance$Claims")

結果分析:將breaks值設定為20來繪圖,labels,col,border這三個引數用來標註各矩形高度(頻率),更改矩形的填充和輪廓顏色。

也可以用str來獲取各組邊界值breaks,頻數counts,概率密度density,中間值mids,繪圖物件名xname,是否等距分組equidist

,這些資訊。

1.2 累積分佈圖

該圖形中(x,y)的含義為:共有y(百分數)的資料小於或等於該x值,因此,資料中x最大值所對應的y值為1,即100%

使用Himsc軟體包中的Ecdf()函式來繪製累積分佈圖:

library(Hmisc)

Ecdf(Insurance$Claims,xlab="Claims",main="Histogram of Freq of Insurance$Claims")

結果分析:與上圖中的密度曲線相對比,累積分佈圖中0-100部分的曲線斜率比較大,且0-50部分尤其陡峭,正對應於密度曲線0-100的高取值,這正是兩曲線間相互關係的體現。

繪製各年齡段Age中要求索賠人數Claims

的累積分佈圖:

data_plot<-with(Insurance,

rbind(data.frame(var1=Insurance$Claims[Insurance$Age=="<25"],var2="<25"),

data.frame(var1=Insurance$Claims[Insurance$Age=="25-29"],var2="25-29"),

data.frame(var1=Insurance$Claims[Insurance$Age=="30-35"],var2="30-35"),

data.frame(var1=Insurance$Claims[Insurance$Age==">35"],var2=">35")))

....

LT=c(1:4)

Ecdf(data_plot$var1,lty=LT,group=data_plot$var2,label.curves=1:4,col="red",xlab="Claims",main="Cumulative Distribution of Claims by Age")

Ecdf(Insurance$Claims,add=T)

#四個引數lty用於設定曲線的型別,實線或者虛線,group用於設定分許變數,這裡及那個Age作為分組變數,label.curves用於標出按分組變數劃分的各曲線組名,比如四個組別:<2525-2930-35>35add引數表示是否在上一個輸出圖形中新增圖形。

結果分析:Claims分組曲線與Claims總體曲線的基本趨勢大致相同,都在0-100區間比較陡峭,之後基本平緩,其前三組曲線都止於100左右,最後一組>35則一直延續到400左右,這說明年齡較大投保人的要求索賠量較高。

1.3 箱線圖

我們利用箱線圖探究在各年齡段Age中要求索賠人數Claims的分佈情況。

boxplot(var1~var2,data=data_plot,horizontal = T,main="Distribution of Claims by Age",xlab = "Claims",ylab="Age")

結果分析:>35的組最大值在400左右,這說明年齡較大投保人的要求索賠量較高。

1.4 點陣圖

點陣圖於條形圖本質上是一樣的,也是用於呈現離散型變數各取值水平的分佈情況,不同之處在於用點和背景網格線的形式代替條形來表示。

本文來自部落格園,作者:zhang-X,轉載請註明原文連結:https://www.cnblogs.com/YY-zhang/p/15243427.html