我们知道,用R做普通散点图时,无法直观看出x与y在哪些取值上个体数最多。如下图,由于所有的点重叠在一起,只能看出中间黑色部分个体数最多,但是具体有多少,看不出来。
set.seed(123)
x=rnorm(mean=10,sd=2,5000)
y=5+ 2*x + rnorm(mean=0,sd=3,5000)
plot(x,y)
如果想展示在这个二维坐标平面中,哪个位置的频数最多,可以用hexbin包做二维分布密度散点图来实现:
install.packages("hexbin") #安装
library(hexbin) #加载hexbin包
library(RColorBrewer) #导入RColorBrewer包调整颜色用
做二维分布密度散点图
plot(hexbin(x,y,xbins=40),colramp=colorRampPalette(rev(brewer.pal(11,"Spectral"))))#xbins参数调整每个点的大小,colorRampPalette设置颜色
由二维分布密度散点图可见,在x=10,y=25左右,散点偏橙红色,表示频数较多;往四周分散的散点颜色偏蓝紫色,表示频数较少。具体的频数表示在图中的counts列出。相比普通散点图,二维分布密度散点图是不是颜值更高呢?
由于不是同步更新,更多内容请关注我们的微信公众号:统计练习题