Chapter 2 話說統計學從莖葉圖

「莖葉圖」是一種簡單的圖形介面,用手就可以畫的入木三分。但這不是作者小編挑它入門學統計學的理由。

那!!!

為什麼這本書建議大家從「莖葉圖」出發,踏上學習初等統計學之路呢?

2.1 為什麼話說統計學從莖葉圖呢?

為了實實在在地告訴讀者,「莖葉圖」源自於西方世界,也為了讓讀者忠實體會這一項技術的大意,請原諒作者小編一開始直接引述來自Wikipedia(維基百科)第一段的前五句話:

(第一句話)

A stem-and-leaf display or stem-and-leaf plot is a device for presenting quantitative data in a graphical format, similar to a histogram, to assist in visualizing the shape of a distribution.

(第二句話)

They evolved from Arthur Bowley’s work in the early 1900s, and are useful tools in exploratory data and analysis.

(第三句話)

Stemplots became more commonly used in the 1980s after the publication of John Tukey’s book on exploratory data analysis in 1977.

(第四句話)

The popularity during those years is attributable to their use of monospaced (typewriter) typestyles that allowed computer technology of the time to easily produce the graphics.

(第五句話)

Modern computers’ superior graphic capabilities have meant these techniques are less often used.

當然為了不失真,絕不翻譯為中文。請讀者諸君再回頭細看一次,因為裡面有一句話藏著作者小編挑「莖葉圖」當作起點的理由。

另外,其中第四句話:

The popularity during those years is attributable to their use of monospaced (typewriter) typestyles that allowed computer technology of the time to easily produce the graphics.

讓作者小編回到1984年,大一的「計算機概論實習課」,班上一位同學利用程式語言Fortran 77的「print」畫了一張「蒙娜麗莎的微笑」,靠的就是「monospaced typestyles」這一種技術。基本上,這一種技術就是模擬人的手從左而右、一行接著一行堆疊各種符號的行為,然後透過不斷重複這種行為建構幾乎沒有解析度的各種示意圖。「莖葉圖」就是一種「示意圖」。

時光繼續往前飛逝,再經過了約36年,作者小編在逢甲大學統計學系「統計學綜合班」講授一般統計學教科書不太重視、輕描淡寫的「莖葉圖」,很幸運地再一次認識這個出現在西元1900年左右、電腦剛起步、電腦圖學還混沌不明時代的統計技術。也再一次勾勒出自身經歷過的電腦發展史片段,同時也意識到原來電腦圖學跟統計圖學是齊頭並進的。

時間定格在二十一世紀的現代,…

「莖葉圖」三個字就是英文的「stem-and-leaf display」或者是「stem-and-leaf plot」。作者小編個人認為「stem-and-leaf display」這三個字忠實呼應了「monospaced typestyles」這一種技術,應該是Arthur Bowley在當時為這一項技術取的名字。

關於「莖葉圖」的歷史紀錄,請讀者看官再一次細看Wikipedia提供的紀錄。個人覺得有趣且值得一提的其中一項觀察是這三個數字,1900, 1977, 1980。這一項基礎統計技術,在沒沒無聞接近80年之後再度復活,都是因為John Tukey在1977年出版了exploratory data analysis這一本書。有興趣的讀者,不妨前去感受一下古文書的味道,以及「莖葉圖」這一項簡單易學的技術竟然可以講出、畫出厚厚一本書!

各位讀者、我的學生,看到這裡,一定會發現作者小編、老師並沒有直接回答「為什麼話說統計學從莖葉圖呢?」原因很單純,雖然您可能不是那麼容易就接受,作者小編希望各位讀者諸君帶著「好奇心」、「疑問句」繼續往下看,好戲才剛開始!

2.2 預備知識

在正式、好好地介紹「莖葉圖」之前,請各位看官回想阿拉伯數字

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

的數學關係,諸如,誰大誰小啦?加法,減法啦、乘法,除法啦。

2.3 什麼是莖葉圖?

為了示範1900年代初期,在電腦絕對不普及的當下,Arthur Bowley可能是如何繪製「些許數字(not big data, unbig data)」的「莖葉圖」,我們必須借用R的一組程式,它們被放在「aplpack」這一個套件(package)裡。用下述這一句話呼叫「aplpack」出來幫忙:

library(aplpack)

在大量示範之前,我們先來瞧瞧「38」這一個數字的莖葉圖,

stem.leaf(38, m = 1, unit = 1)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 1
##   (1)   3 | 8

再看「338」這一個數字的莖葉圖,

stem.leaf(338, m = 1, unit = 1)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 1
##   (1)   33 | 8

接下來看「3388」這一個數字的莖葉圖,

stem.leaf(3388, m = 1, unit = 1)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 1
##   (1)   338 | 8

經過「觀察」上述三張圖之後,我們注意到「個位數的『8』」一直留在「|」這一個「半邊絕對值符號」的右邊,而剩下來的「十位數、百位數、千位數」按順序都留在「半邊絕對值符號」的左邊。為了驗證這一項觀察的可靠度,我們搜尋網際網路,找找「什麼是莖葉圖」,也就是找找「莖葉圖的定義」。運氣不錯,找到了Definition of Stem-and-Leaf Plot。數學定義就怕「失真」,所以我們直接引用,不翻譯。請看

2.3.1 莖葉圖的定義

A plot where each data value is split into a “leaf” (usually the last digit) and a “stem” (the other digits). For example “32” is split into “3” (stem) and “2” (leaf). The “stem” values are listed down, and the “leaf” values are listed next to them. This way the “stem” groups the scores and each “leaf” indicates a score within that group.

如果看不懂「英文」,我們請「Google」來幫忙。以下是翻譯上述莖葉圖定義的結果,請參考。

2.3.2 莖葉圖定義的Google翻譯

將每個數據值分為「葉子」(通常是最後一位)和「莖」(其他位)的圖。例如,「32」分為「3(莖)」和「2(葉子)」。「stem」值在下方列出,「leaf」值在其旁邊列出。這樣,「stem」將得分分組,每個「leaf」表示該組中的得分。

雖不中亦不遠!

2.3.3 作者小編的經驗談

「莖葉圖」的原文定義裡,有兩個用意一樣的英文字,「data value」跟「score」。「data value」可以翻譯為「數據的數值」,一般會直接用「data」,翻譯為「數據」;而「score」可以翻譯為「得分」或是常說的「分數」,一定是某一個正數。也就是說,我們可以猜想「『莖葉圖』是『正數的示意圖』」。請讀者諸君先記住這件事:統計學的主角是「data(數據)」。雖然到目前為止,作者小編尚未定義「甚麼是數據」,就「放下執念、不急不徐」讓作者小編「先」這麼說,本質上

數據是一種特別的數字。

基於這樣的理由,既然是「數字」,就讓我們先見識見識數字的老祖先,印度人發明的「阿拉伯數字」的莖葉圖長什麼樣子?

2.4 阿拉伯數字的莖葉圖

如果作者小編是西元1900年代前後的統計學教授,初次聽聞「莖葉圖」,躍躍欲試,加上身處沒有電腦也不會寫程式的環境,「手算莖葉圖」自自然然。但,身處二十一世紀西元2023年,R (programming language)已經2023 - 1993 = 30歲的今天,作者小編會「手算莖葉圖」,當然也要會「電算莖葉圖」。為了「電算莖葉圖」,讓我們先呼叫幫手,套件

library(aplpack)

有了「aplpack」相助,我們就來看看阿拉伯數字,0, 1, 2, 3, 4, 5, 6, 7, 8, 9的莖葉圖長什麼樣子?請讀者看官注意一件事,現在0, 1, 2, 3, 4, 5, 6, 7, 8, 9都是個位數,它們的十位數都是0。也就是說,我們現在想要製作莖葉圖的數字是00, 01, 02, 03, 04, 05, 06, 07, 08, 09。

2.4.1 如果我們決定把全部阿拉伯數字放在「一株莖」,結果是

stem.leaf(0:9, m = 1, unit = 1)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 10
##   (10)   0 | 0123456789

2.4.2 如果我們決定把全部阿拉伯數字放在「兩株莖」,結果是

stem.leaf(0:9, m = 2, unit = 1)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 10
##   (5)   0* | 01234
##   (5)   0. | 56789

2.4.3 如果我們決定把全部阿拉伯數字放在「五株莖」,結果是

stem.leaf(0:9, m = 5, unit = 1)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 10
##    2    0* | 01
##    4     t | 23
##   (2)    f | 45
##    4     s | 67
##    2    0. | 89

2.4.4 如果我們決定把全部阿拉伯數字放在「十株莖」,結果是

stem.leaf(0:9, m = 10, unit = 1)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 10
##    1    0 | 0
##    2    0 | 1
##    3    0 | 2
##    4    0 | 3
##   (1)   0 | 4
##   (1)   0 | 5
##    4    0 | 6
##    3    0 | 7
##    2    0 | 8
##    1    0 | 9

看過這四張圖,不知道有沒有激起一絲絲的疑問、問號?一絲絲企圖回答「為什麼話說統計學從莖葉圖呢?」的念頭?

Q1:為什麼只有四張圖、四小段?為什麼莖數是1,2,5,10?

2.4.4.1 計算思維練習題:觀察上述四張圖並且下結論。

2.4.5 為什麼「m」只能是「1, 2, 5, 10」,這些「均分10個數字的莖數」,難道不能是「3」嗎?

stem.leaf(0:9, m = 3, unit = 1)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 10
##    4    0 | 0123
##   (3)   0 | 456
##    3    0 | 789

stem.leaf()」絕對可以幫忙,但是如果「10」個數字變成「100」個數字,…

stem.leaf(rep(0:9, 10), m = 3, unit = 1)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 100
##    40    0 | 0000000000111111111122222222223333333333
##   (30)   0 | 444444444455555555556666666666
##    30    0 | 777777777788888888889999999999

或是,如果「10」個數字變成「150」個數字,…

stem.leaf(rep(0:9, 15), m = 3, unit = 1)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 150
##    60    0 | 000000000000000111111111111111222222222222222333333333333333
##   (45)   0 | 444444444444444555555555555555666666666666666
##    45    0 | 777777777777777888888888888888999999999999999

持續下去,會出現「失衡現象」,有一株莖會特別長!但是,除非我們可以控制這現象刻意出現在其他株,第二株跟第三株,否則設定「莖數等於3」就是一種技術犯規!這時候,假如我們放手給「stem.leaf()」自己決定!也就是拿掉「m = 3」,讓「stem.leaf()」自行決定「莖數」,會看到什麼樣的「莖葉圖」呢?

stem.leaf(rep(0:9, 15), unit = 1)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 150
##    30    0* | 000000000000000111111111111111
##    60     t | 222222222222222333333333333333
##   (30)    f | 444444444444444555555555555555
##    60     s | 666666666666666777777777777777
##    30    0. | 888888888888888999999999999999

結果還不賴!「stem.leaf()」給我們「五莖的莖葉圖」。

2.4.5.1 計算思維練習題:繪製並觀察「0:9」跟「19」的莖葉圖。

參考答案:

stem.leaf(c(0:9,19), unit = 1)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 11
##    2    0* | 01
##    4     t | 23
##   (2)    f | 45
##    5     s | 67
##    3    0. | 89
## HI: 19
stem.leaf(c(0:9,19), unit = 1, trim.outliers = FALSE)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 11
##    2    0* | 01
##    4     t | 23
##   (2)    f | 45
##    5     s | 67
##    3    0. | 89
##         1* | 
##          t | 
##          f | 
##          s | 
##    1    1. | 9

我們已經見過全部阿拉伯數字的諸多可能的「莖葉圖」,上述這些都是阿拉伯數字的「靜態莖葉圖」。所謂的「靜態莖葉圖」,講的是,「莖葉圖」不會變了、不會生葉子了、不會長新莖了!

但是,…

現實世界從來沒停過「出數字」!現在我們

假設阿拉伯數字一個接著一個出現,停不下來,那什麼時候是繪製「莖葉圖」的好時機呢?

等「出數字」停下來!還是有多少畫多少,一直畫下去呢?

接下來,我們試試「統計模擬」,一種「模擬『出數字』的研究方法」。模擬這世界只「出數字」十次,每一次都是「出」某一個阿拉伯數字,而且不會重複出現同一個阿拉伯數字,讓我們見識一下莖葉圖的動態模樣,姑且稱之為「動態莖葉圖」。

2.4.6 假設阿拉伯數字隨機依序出現目睹莖葉圖的成長

這時候,我們需要借用R官方程式「sample」,中文翻譯為「抽樣」。如果只是把數字丟給她,沒有任何限制、要求,「sample」會回應這些數字的某一種「permutation (排列)」,像「洗牌」一樣,把阿拉伯數字的出現順序打亂。

set.seed(1233) # 有了這一句話,保證每一位讀者看到同一種「洗牌」的結果。
Data <- sample(0:9)
Data
##  [1] 7 1 0 9 3 4 2 8 6 5

再來一個一個看,看阿拉伯數字的莖葉圖如何長大成人?

for (i in 1:length(Data)) {
  print(paste0("###", " 第", i, "次 ", "###"))
  print(paste0("現在出現數字", Data[i]))
  print("莖葉圖到此長這個樣子:")
  stem.leaf(Data[1:i], m = 10, unit = 1)
  print(paste0(rep("#", 38), collapse = ""))
}
## [1] "### 第1次 ###"
## [1] "現在出現數字7"
## [1] "莖葉圖到此長這個樣子:"
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 1
##   (1)   0 | 7
## [1] "######################################"
## [1] "### 第2次 ###"
## [1] "現在出現數字1"
## [1] "莖葉圖到此長這個樣子:"
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 2
##   (1)   0 | 1
##         0 | 
##         0 | 
##         0 | 
##         0 | 
##         0 | 
##   (1)   0 | 7
## [1] "######################################"
## [1] "### 第3次 ###"
## [1] "現在出現數字0"
## [1] "莖葉圖到此長這個樣子:"
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 3
##    1    0 | 0
##   (1)   0 | 1
##         0 | 
##         0 | 
##         0 | 
##         0 | 
##         0 | 
##    1    0 | 7
## [1] "######################################"
## [1] "### 第4次 ###"
## [1] "現在出現數字9"
## [1] "莖葉圖到此長這個樣子:"
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 4
##    1    0 | 0
##   (1)   0 | 1
##         0 | 
##         0 | 
##         0 | 
##         0 | 
##         0 | 
##   (1)   0 | 7
##         0 | 
##    1    0 | 9
## [1] "######################################"
## [1] "### 第5次 ###"
## [1] "現在出現數字3"
## [1] "莖葉圖到此長這個樣子:"
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 5
##    1    0 | 0
##    2    0 | 1
##         0 | 
##   (1)   0 | 3
##         0 | 
##         0 | 
##         0 | 
##    2    0 | 7
##         0 | 
##    1    0 | 9
## [1] "######################################"
## [1] "### 第6次 ###"
## [1] "現在出現數字4"
## [1] "莖葉圖到此長這個樣子:"
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 6
##    1    0 | 0
##    2    0 | 1
##         0 | 
##   (1)   0 | 3
##   (1)   0 | 4
##         0 | 
##         0 | 
##    2    0 | 7
##         0 | 
##    1    0 | 9
## [1] "######################################"
## [1] "### 第7次 ###"
## [1] "現在出現數字2"
## [1] "莖葉圖到此長這個樣子:"
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 7
##    1    0 | 0
##    2    0 | 1
##    3    0 | 2
##   (1)   0 | 3
##    3    0 | 4
##         0 | 
##         0 | 
##    2    0 | 7
##         0 | 
##    1    0 | 9
## [1] "######################################"
## [1] "### 第8次 ###"
## [1] "現在出現數字8"
## [1] "莖葉圖到此長這個樣子:"
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 8
##    1    0 | 0
##    2    0 | 1
##    3    0 | 2
##   (1)   0 | 3
##   (1)   0 | 4
##         0 | 
##         0 | 
##    3    0 | 7
##    2    0 | 8
##    1    0 | 9
## [1] "######################################"
## [1] "### 第9次 ###"
## [1] "現在出現數字6"
## [1] "莖葉圖到此長這個樣子:"
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 9
##    1    0 | 0
##    2    0 | 1
##    3    0 | 2
##    4    0 | 3
##   (1)   0 | 4
##         0 | 
##    4    0 | 6
##    3    0 | 7
##    2    0 | 8
##    1    0 | 9
## [1] "######################################"
## [1] "### 第10次 ###"
## [1] "現在出現數字5"
## [1] "莖葉圖到此長這個樣子:"
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 10
##    1    0 | 0
##    2    0 | 1
##    3    0 | 2
##    4    0 | 3
##   (1)   0 | 4
##   (1)   0 | 5
##    4    0 | 6
##    3    0 | 7
##    2    0 | 8
##    1    0 | 9
## [1] "######################################"

2.4.6.1 計算思維練習題:如果我們決定把全部阿拉伯數字放在「五株莖」,那程式如何改寫?

2.4.7 作者小編的經驗談

看過上述程式碼的輸出畫面,不知各位讀者看官是否有一絲絲感受到電子書與紙本書的差異呢?

作者小編個人認為:紙本書輸在每一頁都有重量,一頁加一頁會重到無法出版,即便出版了,頁數越多買家越少!在這裡,各位不只可以見識到模擬程式碼,也可以單手滑過模擬程式碼完整的輸出。讀者看官可以把程式碼剪走,在家重複一次又一次。當然也可以改變程式碼,嘗試更大規模的模擬。模擬更大規模、更像大數據(big data)的模擬。這些都是紙本圖書無法提供的服務。

本章從Wikipedia出發,接下來,本章的結尾,想看一下「aplpack」的「stem.leaf()」抓到它(Wikipedia)的示範數據之後,會畫出什麼樣的「莖葉圖」?

2.5 讓我們試試維基百科示範數字的莖葉圖

這一回,我們讓套件「aplpack」的「stem.leaf()」自己決定怎麼畫?跟過往一樣,先呼叫幫手

library(aplpack)

然後,

準備數據。

直接從Wikipedia剪貼過來,放入「c」裡面,就可以得到R (programming language)看得懂的「數字向量(numeric vector)」,上述「c」是「combine」的「減寫」或說是「去尾寫」。

Data <- c(44,46,47,49,63,64,66,68,68,72,72,75,76,81,84,88,106)
stem.leaf(Data)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 17
##    1    4* | 4
##    4    4. | 679
##         5* | 
##         5. | 
##    6    6* | 34
##   (3)   6. | 688
##    8    7* | 22
##    6    7. | 56
##    4    8* | 14
##    2    8. | 8
## HI: 106

觀察過後,我們發現「stem.leaf()」決定用「兩株莖」繪製這一組數字的莖葉圖,而且定調「106」這一個數字是「HI」的離群值。

2.5.0.1 計算思維練習題:感受一下什麼樣的數字可能是離群值?

如果讀者諸君不過癮,試試看「自己電算莖葉圖」:

stem.leaf(Data, m = 1, unit = 1, trim.outliers = FALSE)
## 1 | 2: represents 12
##  leaf unit: 1
##             n: 17
##    4     4 | 4679
##          5 | 
##   (5)    6 | 34688
##    8     7 | 2256
##    4     8 | 148
##          9 | 
##    1    10 | 6

2.6 莖葉圖之後本書可能的後續發展

如果我們認真去Wikipedia搜尋,應該很有機會得知以下這幾項技術的時間軸:

  1. 莖葉圖
  2. 次數分配表、累加次數分配表
  3. 排序
  4. 中位數
  5. 離群值
  6. 直方圖
  7. 長條圖

它們在時間軸上的先後關係,並不是作者小編在這裡想要回答的問題,或是短時間就可以仔細回答的問題。作者小編堅持從「莖葉圖」出發指導學生,期待讀者看官們經歷一段不一樣的統計學學習之旅,是

因為套件「aplpack」產出的「莖葉圖」可以順勢變出上述多項統計技術,而且顯而易見、直接了當,雖然不是輕而易舉!但,深入了解「莖葉圖」的來龍去脈,就等於一次學到七項技術,至少!

接著,

  1. 如果「推想、推廣」中位數,可以掌握「平均數」;
  2. 如果「推想、推廣」中位數,可以創新「四分位數」;
  3. 如果掌握平均數的理論源頭,可以得知「變異數」與「標準差」;
  4. 有了標準差,可以推想出「間距」、「四分位數間距」、「十分位數間距」、「百分位數間距」;
  5. 再加上原始數據,可以掌握「盒型圖」。
  6. 也可以從「長條圖」變出「圓餅圖」。
  7. 最後,把時間認為是一種順序很重要的標籤,「長條圖」就會變身為「時間序列圖」。

假如您願意走過一遍又一遍,掌握箇中變化的道理,統計學的首篇,「敘述統計學」,也就是「小數據(small data)」就被您握在手心了!

精彩內容,請勿錯過!…

2.7 課後練習題

library(aplpack)

2.7.1 失真的莖葉圖

stem.leaf(c(38,338,3388))
## 1 | 2: represents 1200
##  leaf unit: 100
##             n: 3
##   (2)   0 | 03
##         1 | 
##         2 | 
##    1    3 | 3

2.7.2 背靠背莖葉圖

set.seed(1238)
Data <- sample(1:17, 60, replace = TRUE)
Data <- matrix(Data, nrow = 12, ncol = 5)
Data
##       [,1] [,2] [,3] [,4] [,5]
##  [1,]    8    5    9    3    1
##  [2,]    8   14   16   16   14
##  [3,]    3    3   16    3    5
##  [4,]    4   12    8   16   10
##  [5,]    6    3   13   10    3
##  [6,]   11   13    7    4    4
##  [7,]    3    4    9    2   12
##  [8,]   10   10   13   12    1
##  [9,]   11   17   12    9   11
## [10,]    5   15    1    3    6
## [11,]    4    9    8    2   11
## [12,]   14    7   17    1   14
dimnames(Data) <- list(rep("", 12), rep("", 5))
Data
##                
##   8  5  9  3  1
##   8 14 16 16 14
##   3  3 16  3  5
##   4 12  8 16 10
##   6  3 13 10  3
##  11 13  7  4  4
##   3  4  9  2 12
##  10 10 13 12  1
##  11 17 12  9 11
##   5 15  1  3  6
##   4  9  8  2 11
##  14  7 17  1 14

繪製

2.1 全部數字的莖葉圖。

2.2 第一行數字的莖葉圖。

2.3 接下來,第一行跟第二行數字的莖葉圖。

2.4 接下來,第一行、第二行跟第三行數字的莖葉圖。

2.5 接下來,第一行、第二行、第三行跟第四行數字的莖葉圖。

2.6 接下來,第一行、第二行、第三行、第四行跟第五行數字的莖葉圖。

2.7 現在,來了一筆新數字「30」,請把它加入上述任何一張莖葉圖裡。

2.8 最後,請實作第一行跟第二行數字的背靠背莖葉圖。

2.7.3 實驗性質的莖葉圖:嘗試提高傳統莖葉圖的解析度。

Data
##                
##   8  5  9  3  1
##   8 14 16 16 14
##   3  3 16  3  5
##   4 12  8 16 10
##   6  3 13 10  3
##  11 13  7  4  4
##   3  4  9  2 12
##  10 10 13 12  1
##  11 17 12  9 11
##   5 15  1  3  6
##   4  9  8  2 11
##  14  7 17  1 14
Data %% 10
##           
##  8 5 9 3 1
##  8 4 6 6 4
##  3 3 6 3 5
##  4 2 8 6 0
##  6 3 3 0 3
##  1 3 7 4 4
##  3 4 9 2 2
##  0 0 3 2 1
##  1 7 2 9 1
##  5 5 1 3 6
##  4 9 8 2 1
##  4 7 7 1 4
Data %/% 10
##           
##  0 0 0 0 0
##  0 1 1 1 1
##  0 0 1 0 0
##  0 1 0 1 1
##  0 0 1 1 0
##  1 1 0 0 0
##  0 0 0 0 1
##  1 1 1 1 0
##  1 1 1 0 1
##  0 1 0 0 0
##  0 0 0 0 1
##  1 0 1 0 1