R 语言绘制 分组核密度图

library(sm) 
attach(mtcars) 
cyl.f <- factor(cyl, levels= c(4,6,8), 
 labels = c("4 cylinder", "6 cylinder",
 "8 cylinder")) 
sm.density.compare(mpg, cyl, xlab="Miles Per Gallon") 
title(main="MPG Distribution by Car Cylinders") 
colfill<-c(2:(1+length(levels(cyl.f)))) 
legend(locator(1), levels(cyl.f), fill=colfill)
detach(mtcars)

首先载入sm包,并绑定数据框mtcars。在数据框mtcars➊中,变量cyl是一个以4、6或8
编码的数值型变量。为了向图形提供值的标签,这里cyl转换为名为cyl.f的因子。函数
sm.density.compare()创建了图形➋,一条title()语句添加了主标题。
最后,添加一个图例以增加可解释性➌。(图例已在第3章介绍。)首先创建的是一个颜色向
量,这里的colfill值为c(2, 3, 4)。然后通过legend()函数向图形上添加一个图例。第一
个参数值locator(1)表示用鼠标点击想让图例出现的位置来交互式地放置这个图例。第二个参
数值则是由标签组成的字符向量。第三个参数值使用向量colfill为cyl.f的每一个水平指定了一
种颜色。结果如图所示。
如你所见,核密度图的叠加不失为一种在某个结果变量上跨组比较观测的强大方法。你可以
看到不同组所含值的分布形状,以及不同组之间的重叠程度。(这段话的寓意是,我的下一辆车
将是四缸的——或是一辆电动的。)

R 语言绘制 分组核密度图_第1张图片

你可能感兴趣的:(R语言,r语言,开发语言)