2017年4月17日

演講紀錄-探究課程工作坊之分析與發現(3)-存儲如何變資料

從文本變表格
請拿張白紙跟著練習一下,把接下來的文字段落用表格來整理一下!

首先是這段課文

胚胎發育的方式受精卵會行細胞分裂發育成胚胎,動物依照胚胎發育的場所,可分為卵生和胎生兩種方式。卵生動物的胚胎在母體外發育,兩生類、鳥類、多數的魚類與爬蟲類屬於卵生動物。胎生動物的胚胎留在母體的子宮內發育,直到胎兒發育成熟由母體產出,多數的哺乳類屬於胎生動物。


整理好了嗎?接下來,請在同一張表格,繼續增加內容
胎生動物的胚胎養分來源是由母體提供,胚胎的發育成功率比卵生要高。卵生動物的胚胎養分來源主要是卵黃提供。


還沒結束喔,繼續再把下面的資料填進去
胎生動物的子代數目通常會比卵生動物還少。

好了,最後一點文字了,再繼續讓表格變大一點吧!
卵生動物的卵細胞,通常也比胎生動物的大許多。

有跟著做的人,應該有些人會遇到困難,那就是紙不夠寫了!為什麼會發生這樣的問題?喔,原來跟一開始建立的表格有關哪!


表格的設計攸關資料是否能成長
當你看到第一次出現的文字訊息時,你可以建立出左邊或右邊的表格,這兩種都沒什麼問題,但是問題在於,我居然繼續給了你三次文字訊息!

「天啊,訊息是會增加的啊?你怎麼沒有先講?」


設計出左邊的表格的人,你被迫得讓表格要往右長,而右邊表格則是會往下長。你現在知道哪個表格設計,是可以對付那些持續進入的訊息吧?
表格


現在鏡頭切到要做實驗分析的試算表,不管你用Google試算表、Excel或是Libreoffice Calc,每一個試算表都馬長一樣,最左邊就是1234連下去,最上面就是ABCD,當資料增加時,資料就是一直往下長,不會是讓資料往右邊長出去的。


試算表表格



既然知道數據是會增加的,來看看這個活動紀錄簿的表格,如果喔,我們要再多增加紀錄到第20次,那麼表格會發生什麼事情啊?你得往右邊一直長出去耶。




請記得,我們談「分析與發現」,這是希望學生受教育之後,能在探究能力中,獲得問題解決的能力,是要學生會的事情耶,結果活動紀錄簿就沒有呈現怎麼好好紀錄資料,那是要怎麼教?

活動紀錄簿裡面喔,其實也有那種可以往下長的表格,就是標題在上的那種。



不過你如果整本翻過,你就會知道,其實這些表格設計的人是排版先決啊,不是站在教學生資料處理分析的角度去設計表格哪。



Tidy Data的基本特徵

這裡先要提到Tidy Data,這個指的是能被分析處理的資料應該要乾淨有規則,最最最基本的有三個特徵,第三個等一下再講
1.每個變數存在個別的一欄
2.每一筆觀測數據在一列

針對第一二點,先記得這件事,數據會增加,表格要往下長,所以請設計出可以往下長的表格。有這種素養之後,之後進入電腦分析,才不會瘋狂卡關。

接下來,請看看這個表格,請指出這會有什麼問題?除了表格會往右長出去以外,給你30秒想看看...



沒想到是嗎?

你看看喔,如果學生利用電腦分析時,也應用了活動記錄簿的表格格式,做了這樣的東西,然後說要分析。你看出來會發生什麼問題嗎?


資料處理上,這叫做messy data,是亂七八糟的表格。你當然還是可以分析,但是會很沒效率,原始數據(溫度計量出的溫度)和處理後的數據(上升溫度)混在一起。


你要把原始數據和處理後的數據,分成不同的表格來紀錄,這樣你面對新增的數據時,才能有效率地處理,請看以下的範例。

用這樣的表格來紀錄溫度,左邊的部份是存下溫度計量到的資料,右邊是經過基本數學運算(減去初溫)的資料。當我的數據增加時,我能夠更有效率地處理。



Tidy data的第三個特徵是
3.不同的表存不同的變數
以這個範例來說,就是[原始數據]和[資料]分開,這樣才能方便數據處理分析。


數字和單位分開
現在來點難題了,如果我希望在這個實驗中,增加更多組實驗,我想要多做一些不同重量的水,那麼你會怎麼設計新表格呢?請想想再往下看


至少會這樣設計吧?這裡有個概念要注意,紀錄的時候,數字和單位要分開,因為這樣才能針對重量做運算,例如你想要計算重量變成兩倍,那麼升溫是否也是等比例增加。你要計算,得讓儲存格裡是數字才行。但是,這樣的表格還有些問題喔,我先賣個關子,下段說清楚。


如果實驗更多樣化,怎麼紀錄?
如果這個實驗,我們想要更多一些變因,比方說溶液種類就來個10種,沙拉油、鹽水、糖水...,重量也來個10種好了。請問你會怎麼設計表格?

想來想去,應該就是十個表格吧?每種溶液一個表格,然後每個表格有10欄,分別紀錄不同的重量。或者是設計一個100欄的表格,這樣一個表格就可以了,但是有點蠢吧?

那麼有沒有可以用一個表格,又是不太蠢的表格呢?
乍看之下應該會覺得幹嘛這樣啊?先說原則,如果你的數據量本來就少,你用分開的表格啦,或是其他方式是沒差啦。不過你的實驗數據如果是會成長的,那就有差。

首先你會看到這個表格可以持續紀錄不同的數據,再來是請記得這是電腦要分析的表格,我們可以用同樣的檢索策略去分析表格,例如直接篩選出水、甘油...來一次分析,如果你是分開十個表格,那就得用10次篩選,至於如果你用一個100欄的大表格,那你要怎麼處理不同溶液種類的數據呢?那會超麻煩的。

現在再回頭看前一張我說有問題的那張圖(就是欄標題是100、200、300...)那個。那個的問題是在他的欄標題其實是變數的值,而不是變數的名稱。



Data tidying(整理資料),那是個大學問,對於做資料庫設計的人是個必學的學問,但是我們純學習自然科學的人,通常沒受過這方面的訓練。當然老師沒訓練,學生也不會,我每次看到學生在Excel紀錄的實驗數據就會發現這個問題,就是一團亂亂的數據啊,要分析也是可以,但是就是很沒效率。


關於Tidy Data,Hadley Wickham有寫一篇論文,很值得細看。日後我也會將該文章整理整理。https://www.jstatsoft.org/article/view/v059i10


資料如何變成資訊,在這次演講中,我不細講,那個又是一個大議題。下一篇,將談到很多人的疑惑,特別是大學老師常常講的「為什麼寫了那麼多年活動紀錄簿,卻不會寫實驗報告?」

為什麼為什麼?