0引言
在R語言繪製莖葉圖——stem函數1中介紹了莖葉圖的定義好處以及R語言中畫莖葉圖的函數stem。但是在實際中還會遇到兩組數據同時畫莖葉圖。這時候就需要比較莖葉圖或者成爲背靠背莖葉圖。本節就講一下R語言中背靠背莖葉圖的畫法。
1、包的安裝和載入
畫背靠背莖葉圖需要的函數是:stem.leaf.backback
。源於的包是:aplpack
。
下面是安裝載入包的命令:
install.packages("aplpack") # 安裝包的命令
library(aplpack) # 載入包的命令
2、數據的構造
> (x = runif(50, 1, 100))
[1] 97.901902 37.820087 59.930394 58.202214 85.082559 56.376457 49.612133
[8] 28.449198 17.474669 73.544891 71.132914 67.087604 73.442675 31.118839
[15] 34.445926 91.496676 68.495679 2.406950 32.371289 76.785241 70.970913
[22] 18.389529 79.589323 85.889009 69.590363 77.410272 59.683459 53.642310
[29] 10.430487 53.923313 36.867875 27.919024 43.048420 54.681581 52.346770
[36] 86.392272 80.799613 45.936351 48.592536 49.247514 26.132459 28.316900
[43] 33.084321 41.899637 82.897304 30.807437 11.529197 87.191910 9.661095
[50] 76.181347
> (x = round(x))
[1] 98 38 60 58 85 56 50 28 17 74 71 67 73 31 34 91 68 2 32 77 71 18 80 86
[25] 70 77 60 54 10 54 37 28 43 55 52 86 81 46 49 49 26 28 33 42 83 31 12 87
[49] 10 76
> (y = runif(50, 1, 100))
[1] 54.251087 52.491082 56.061653 23.461294 97.432992 59.603256 1.731276
[8] 38.194524 63.233257 34.397358 87.835199 37.768421 4.011068 37.757133
[15] 21.456463 70.403779 92.325619 59.801964 7.334659 80.850232 8.878238
[22] 41.957840 29.635581 38.141332 58.615335 46.426850 5.792796 84.212648
[29] 20.716242 59.697287 90.713955 91.405667 50.688220 96.054148 98.494647
[36] 53.005192 75.005535 30.417185 55.437115 55.639084 3.260935 75.850688
[43] 87.912788 75.904463 89.966681 71.551502 75.130157 98.808130 34.477216
[50] 52.372187
> (y = round(x))
[1] 98 38 60 58 85 56 50 28 17 74 71 67 73 31 34 91 68 2 32 77 71 18 80 86
[25] 70 77 60 54 10 54 37 28 43 55 52 86 81 46 49 49 26 28 33 42 83 31 12 87
[49] 10 76
到現在爲止就成功載入函數包、構造出了兩組可用數據。下開始介紹主角函數了:stem.leaf.backback
3、參數展示
> stem.leaf.backback
function (x, y, unit, m, Min, Max, rule.line = c("Dixon",
"Velleman", "Sturges"), style = c("Tukey",
"bare"), trim.outliers = TRUE, depths = TRUE, reverse.negative.leaves = TRUE,
na.rm = FALSE, printresult = TRUE, show.no.depths = FALSE,
add.more.blanks = 0, back.to.back = TRUE)
上述是該函數的內置可調參數,大家有需要可以自行去查看。下面直接上案例。
4、案例結果
下面就是最初的背靠背莖葉圖。
> stem.leaf.backback(x,y)
_______________________________
1 | 2: represents 12, leaf unit: 1
x y
_______________________________
1 2| 0* |2 1
| 0. |
4 200| 1* |002 4
6 87| 1. |78 6
| 2* |
10 8886| 2. |6888 10
15 43211| 3* |11234 15
17 87| 3. |78 17
19 32| 4* |23 19
22 996| 4. |699 22
(4) 4420| 5* |0244 (4)
24 865| 5. |568 24
21 00| 6* |00 21
19 87| 6. |78 19
17 43110| 7* |01134 17
12 776| 7. |677 12
9 310| 8* |013 9
6 7665| 8. |5667 6
2 1| 9* |1 2
1 8| 9. |8 1
| 10* |
_______________________________
n: 50 50
_______________________________
我們對參數進行微調:m = 1.
> stem.leaf.backback(x,y,m=1)
____________________________________
1 | 2: represents 12, leaf unit: 1
x y
____________________________________
1 2| 0 |2 1
6 87200| 1 |00278 6
10 8886| 2 |6888 10
17 8743211| 3 |1123478 17
22 99632| 4 |23699 22
(7) 8654420| 5 |0244568 (7)
21 8700| 6 |0078 21
17 77643110| 7 |01134677 17
9 7665310| 8 |0135667 9
2 81| 9 |18 2
| 10 |
____________________________________
n: 50 50
____________________________________
5、參考文獻
https://blog.csdn.net/weixin_46111814/article/details/105343016 ↩︎