library("MASS")
data(Insurance)
hist(Insurance$Claims,main="Histogram of freq of Insurance$Claims") # 要求索赔的人数
hist(Insurance$Claims,main="Histogram of freq of Insurance$Claims whit 20 bars" ,breaks=20,labels=TRUE,col="black",border="white" ) # breaks-分组(0-20,20-40,40-60...); col填充颜色设置; border-边框颜色设置
hist(Insurance$Claims,freq=FALSE,density=20,main="Histogram of density of Insurance$Claims") # freq-频率直方图(T)/密度直方图(F),
lines(density(Insurance$Claims)) # 绘制密度曲线
##### 4.3.2 积累分布图
library("Hmisc") # 书上有错误
par(mfrow=c(1,2)) # 子图模式,两个图在同一列(1行2列)
Ecdf(Insurance$Claims,xlab="Claims",main="Cumulative Distribution of Claims") # 可以认为积累分布图各点斜率为概率密度曲线在该点的取值,即积累密度曲线在某一点的斜率越大,概率密度越大
plot(density(Insurance$Claims),main="密度曲线图")
par(mfrow=c(1,1)) # 退出子图模式(这里并没有什么子图模式,只是便于记忆)
data_plot<-with( Insurance,
rbind(
data.frame( var1=Claims[Age=="<25"],var2="<25" ),
data.frame( var1=Claims[Age=="25-29"],var2="25-29" ),
data.frame( var1=Claims[Age=="30-35"],var2="30-35" ),
data.frame( var1=Claims[Age==">35"],var2=">35" ) # 小心这里不要多了逗号
)
) # 构建数据
data_plot[c(1:4,16+1:4,32+1:4,48+1:4),] # 查看数据
## var1 var2
## 1 38 <25
## 2 63 <25
## 3 19 <25
## 4 4 <25
## 17 35 25-29
## 18 84 25-29
## 19 52 25-29
## 20 18 25-29
## 33 20 30-35
## 34 89 30-35
## 35 74 30-35
## 36 19 30-35
## 49 156 >35
## 50 400 >35
## 51 233 >35
## 52 77 >35
Ecdf( data_plot$var1,group=data_plot$var2,lty=1:4,label.curves=1:4,col=c("blue","green","red","black"),
xlab="Claims",main="Cumulative Distribution of Claims by Age"
) # lty-线型设置; label.curves-标出分组曲线组名; group-分组变量
Ecdf(Insurance$Claim,add=TRUE,col="red")
结论:一定程度上说明了年龄较大的投保人(>35)要求索赔量较高