首页 > 编程 > R > 正文

R语言中使用stem()函数绘制茎叶图

2023-04-28 12:24:15
字体:
来源:转载
供稿:网友

茎叶图概述

茎叶图(Stem-and-Leaf display)又称“枝叶图”,由统计学家约翰托奇( Arthur Bowley)设计,它的思路是将数组中的数按位数进行比较,将数的大小基本不变或变化不大的位作为一个主干(茎),将变化大的位的数作为分枝(叶),列在主干的后面,这样就可以清楚地看到每个主干后面的几个数,每个数具体是多少。

茎叶图是一个与直方图相类似的特殊工具,但又与直方图不同,茎叶图保留原始资料的资讯,直方图则失去原始资料的讯息。将茎叶图茎和叶逆时针方向旋转90度,实际上就是一个直方图,可以从中统计出次数,计算出各数据段的频率或百分比。从而可以看出分布是否与正态分布或单峰偏态分布逼近。

R语言中绘制茎叶图的函数stem

R语言中使用stem函数绘制茎叶图。stem函数的语法格式如下:

stem(x, scale = 1, width = 80, atom = 1e-08)

下面使用例子来说明stem函数的具体使用方法:

某人对自己上班时间的开车速度进行了统计,统计12次的数据如下(km/h):

30,33,18,27,32,40,26,28,21,28,35,20

参数x

参数x是数值向量,用于绘制茎叶图的数据。

v<-c(30,33,18,27,32,40,26,28,21,28,35,20)
stem(v)

绘制结果如下图所示:

 R语言中绘制茎叶图

图中位于“|”右边的数字是1位数字构成的,绘制的茎叶图默认0-4一组,5-9一组。则可以看出,位于[10,20)区间的有1个:18;位于[20,30)区间的有6个;位于[30,40)区间的有4个:30,32,33,35;位于[40,50)区间的有1个:40.

参数scale

stem函数中的scale参数控制茎叶图的长度,默认为1。

v<-c(30,33,18,27,32,40,26,28,21,28,35,20)
stem(v,scale=0.8)

 stem函数scale参数

sacle设置的越大,分茎越多,精度越高,如果你的scale较小,他甚至会自动帮你的数据做四舍五入(这样会降低精度)

width参数

控制茎叶图中叶子的宽度,如果为0,则只输出该茎统计的数字个数。如果为10以内的数,则表示超过指定宽度的统计数量个数,下面的例子可以理解为,统计频数比0多的数,多几个就加几。

茎叶图中stem函数width参数

这样,我们很清楚的知道,10~20之间有1个,20~25之间有2个,25~30之间有4个......

当width设置的足够大,就可以将所有的数字显示全了,默认为100.

v<-c(30,33,18,27,32,40,26,28,21,28,35,20)
stem(v,scale=1,width=90)

R语言中使用stem函数绘制茎叶图

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表