我们无论在何时分析数据,第一件要做的事情就是观察它。对于每个变量,哪些值是最常见的?值域是大是小?是否有不寻常的观测?R中提供了丰富的数据可视化函数。
直方图通过在x轴上将值域分割为一定数量的组,在y轴上显示相应值的频数,展示了连续型变量的分布。
今天来学习绘制直方图。
目 录
1. 加载数据集
2. 简单茎叶图
3. 简单直方图
4. 美化图形
5. 添加正态分布曲线
6. 复杂直方图
6.1 堆叠直方图
6.2 非堆叠直方图
7. lattice绘制直方图
8. hist()函数
9. histStack()函数
10. Hist()函数
1. 加载数据集
本篇推文选用的是multcomp包的sbp数据集。
install.packages("multcomp") # 安装包
library(multcomp) # 加载包
data(sbp) # 加载内置数据集
View(sbp) # 预览数据集
![ddfa3bba0174e927b00583a3684d7c4d.png](https://i-blog.csdnimg.cn/blog_migrate/8c57115b09a28ecb1bafcf7215106d29.png)
数据集包括3个变量(收缩压、年龄、性别),共69个观测对象。
2. 简单茎叶图
我们先绘制个茎叶图来观察血压的分布,使用stem()
函数来绘制茎叶图。
stem(sbp$sbp)
![0ab75867747cdfde3ec0e40efe169de2.png](https://i-blog.csdnimg.cn/blog_migrate/c96bbadff7095fe2c85cffd3478e3aba.png)
图上显示了数据集中所有的血压,血压都是三位数字,茎叶图的主干包含2位数字,图上左边的两位数字表示主干,"叶"包含每个数字的最后一位数字。第一行的3个数字为110、114、116。
图上血压分布基本近似对称,低血压患者数量和高血压患者数量大致相同。
stem(sbp$sbp, scale = 2) # 改变茎宽