📜  R – 茎叶图

📅  最后修改于: 2022-05-13 01:54:34.690000             🧑  作者: Mango

R – 茎叶图

茎叶图是一种显示某些类别值可能出现的频率的技术。它基本上是一种以图形格式表示定量数据的方法。与直方图不同,茎叶图最多保留两个有效数字的原始数据项。数据按顺序排列,这有助于转向无参数统计和基于顺序的推理。让我们了解这种绘图技术是如何工作的。

例子:

在世界肥胖日,假设在一所学校里,一位老师决定测量她认为可能有肥胖症的任何 10 名学生的体重。于是她记录了 10 名学生的体重如下:

54, 43, 67, 76, 45, 59, 66, 78, 80, 92.

现在这些记录上的茎叶图将是:

4 | 3 5
5 | 4 9
6 | 6 7
7 | 6 8
8 | 0
9 | 2

这里的记录是根据它们的最高有效数字排列的。茎是图表的左侧,而右侧是叶子。有时为了增加可读性,可以将备用行与其紧邻的下一行合并。如果数字有无限值或缺失值,则将其丢弃。

R中的茎叶图

在 R 中,任何定量变量(例如 x)的茎叶图(也称为茎叶图)是一个文本图,用于按数据项的最高有效数字的顺序对数据项进行分类。词干和叶子之所以如此,是因为该图以表格格式给出,其中每个数值或数据项被分成一个词干,即第一个数字和一个叶子,即最后一个数字。例如,假设输入数据是 94。那么 9 将是茎,4 将是叶。

在 R 中创建茎叶图

RStudio 中有很多保留的数据集。在这里,让我们使用ChickWeight数据集来考虑权重。首先让我们看看如何使用 stem() 以更简单的方式使用茎叶图。

例子:

# R program to illustrate
# Stem and Leaf Plot
  
# using stem()
stem(ChickWeight$weight)

输出:

The decimal point is 1 digit(s) to the right of the |

   2 | 599999999
   4 | 00000111111111111111111112222222222222223333456678888888899999999999+38
   6 | 00111111122222222333334444455555666677777888888900111111222222333334+8
   8 | 00112223344444455555566777788999990001223333566666788888889
  10 | 0000111122233333334566667778889901122223445555667789
  12 | 00002223333344445555667788890113444555566788889
  14 | 11123444455556666677788890011234444555666777777789
  16 | 00002233334444466788990000134445555789
  18 | 12244444555677782225677778889999
  20 | 0123444555557900245578
  22 | 0012357701123344556788
  24 | 08001699
  26 | 12344569259
  28 | 01780145
  30 | 355798
  32 | 12712
  34 | 1
  36 | 13

说明

这里在命令中使用 $ 符号从使用的列表中提取数据。 stem() 命令提取数字数据并将它们分成两部分,即茎和叶。左侧显示最高有效位,而最后一位显示在右侧。为了更好的可读性,将具有相同词干值的数字合并在一起。

使用 scale 参数

现在让我们在重新缩放我们想要的图后查看相同的茎叶图。要重新缩放绘图,我们需要在stem()函数中使用scale参数。

例子:

# R program to illustrate
# Stem and Leaf Plot
  
# Drawing Stem and Leaf Plot after rescaling
stem(ChickWeight$weight, scale = 5)

输出:

The decimal point is 1 digit(s) to the right of the |

   3 | 599999999
   4 | 000001111111111111111111122222222222222233334
   4 | 5667888888889999999999999
   5 | 00000011111111222233333444
   5 | 5555566667778888899999
   6 | 001111111222222223333344444
   6 | 555556666777778888889
   7 | 001111112222223333344444444
   7 | 6667778889999
   8 | 001122233444444
   8 | 5555556677778899999
   9 | 0001223333
   9 | 566666788888889
  10 | 0000111122233333334
  10 | 5666677788899
  11 | 0112222344
  11 | 5555667789
  12 | 0000222333334444
  12 | 555566778889
  13 | 0113444
  13 | 555566788889
  14 | 111234444
  14 | 5555666667778889
  15 | 0011234444
  15 | 555666777777789
  16 | 000022333344444
  16 | 6678899
  17 | 000013444
  17 | 5555789
  18 | 12244444
  18 | 55567778
  19 | 222
  19 | 5677778889999
  20 | 0123444
  20 | 5555579
  21 | 0024
  21 | 5578
  22 | 00123
  22 | 577
  23 | 01123344
  23 | 556788
  24 | 0
  24 | 8
  25 | 001
  25 | 699
  26 | 12344
  26 | 569
  27 | 2
  27 | 59
  28 | 01
  28 | 78
  29 | 014
  29 | 5
  30 | 3
  30 | 5579
  31 |
  31 | 8
  32 | 12
  32 | 7
  33 | 12
  33 |
  34 | 1
  34 |
  35 |
  35 |
  36 | 1
  36 |
  37 | 3

说明

改变缩放比例后,数据的分布水平发生了变化。同样在这里,茎在左侧,叶子在右侧。

使用宽度参数

stem()函数中使用宽度参数时,可以将绘图的宽度更改为所需的绘图。

例子:

# R program to illustrate
# Stem and Leaf Plot
  
# Drawing Stem and Leaf Plot by changing the width
stem(ChickWeight$weight, width = 100)

输出:

The decimal point is 1 digit(s) to the right of the |

  2 | 599999999
  4 | 0000011111111111111111111222222222222222333345667888888889999999999999000000111111112222+18
  6 | 0011111112222222233333444445555566667777788888890011111122222233333444444446667778889999
  8 | 00112223344444455555566777788999990001223333566666788888889
 10 | 0000111122233333334566667778889901122223445555667789
 12 | 00002223333344445555667788890113444555566788889
 14 | 11123444455556666677788890011234444555666777777789
 16 | 00002233334444466788990000134445555789
 18 | 12244444555677782225677778889999
 20 | 0123444555557900245578
 22 | 0012357701123344556788
 24 | 08001699
 26 | 12344569259
 28 | 01780145
 30 | 355798
 32 | 12712
 34 | 1
 36 | 13

说明

随着宽度从 80 变为 100,数据的分布也发生了变化。这里图表的左侧显示了茎,而叶子在图表的右侧。

茎叶图的使用

  • 茎叶图对于显示数据的形状和相对密度非常有用,因此可以让读者或客户快速了解分布类型。
  • 大多数时候,他们可以以非常完美的完整性保留原始数据。
  • 一种非常有用的方法,用于突出显示异常值以及查找模式。