如何在 r 中绘制分类数据(附示例)
在统计学中,分类数据表示可以使用名称或标签的数据。
示例包括:
- 吸烟状况(“吸烟者”、“非吸烟者”)
- 眼睛颜色(“蓝色”、“绿色”、“淡褐色”)
- 教育程度(例如“高中”、“学士学位”、“硕士学位”)
用于可视化此类数据的三种常用图表包括:
- 条形图
- 马赛克图
- 按组划分的箱线图
以下示例展示了如何在 R 中创建每个图。
示例 1:条形图
以下代码展示了如何创建条形图来可视化特定数据框中的变化频率:
library (ggplot2) #create data frame df <- data. frame (result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'), team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'), points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19), rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8)) #create bar chart of teams ggplot(df, aes (x=team)) + geom_bar()
x 轴显示每个团队的名称,y 轴显示每个团队在数据框中的频率。
我们还可以使用以下代码对图表中的条形从最大到最小进行排序:
#create bar chart of teams, ordered from large to small ggplot(df, aes (x= reorder (team, team, function (x)- length (x)))) + geom_bar(fill=' steelblue ') + labs(x=' Team ')
示例 2:按组划分的箱线图
聚类箱线图是可视化数值变量的有用方法,按类别变量分组。
例如,以下代码演示了如何创建箱线图来显示得分分布(按团队分组):
library (ggplot2) #create data frame df <- data. frame (result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'), team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'), points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19), rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8)) #create boxplots of points, grouped by team ggplot(df, aes (x=team, y=points)) + geom_boxplot(fill=' steelblue ')
x 轴显示球队,y 轴显示每支球队的得分分布。
示例 3:马赛克图
平铺图是一种在单个图中显示两个不同类别变量的频率的图。
例如,以下代码显示如何创建马赛克图,在单个图中显示 calcategori 变量“结果”和“团队”的频率:
#create data frame df <- data. frame (result = c('W', 'L', 'W', 'W', 'W', 'L', 'W', 'L', 'W', 'L'), team = c('B', 'B', 'B', 'B', 'D', 'A', 'A', 'A', 'C', 'C'), points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19), rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8)) #create table of counts counts <- table(df$result, df$team) #create mosaic plot mosaicplot(counts, xlab=' Game Result ', ylab=' Team ', main=' Wins by Team ', col=' steelblue ')
x 轴显示比赛结果,y 轴显示四个不同的球队。
其他资源
以下教程解释了如何在 R 中创建其他常见绘图: