在公民科學中,以群眾標註或是問卷得來的表單資料,常會有評分的需要,而一般評分可能會有比較複雜的邏輯需求,可能會用幾行程式來處理最為容易。
而開放與協作很好的線上表格工具 google sheet, 也有提供強大的使用者自訂函示的能力,剛好滿足這樣的需求。
這次的例子是 「平安走路許願帳戶」專案,需要對收集來的每筆資料,進行評分,方便之後視覺化分析的展開,由於夥伴在這方便需要點幫助,於是我就順便學一下相關的技巧,寫段小程式,幫忙算一下評分。
本專案略微特殊,是這個評分的公式,有很多不同的看法,為了採用民主的方式,我們選擇支援多種演算法,讓大家自由論述。夥伴也因應提出三種可能的算法雛形,我則是寫出來,並釋出程式與資料,方便夥伴一起來檢視與探討。
由於對我來說也是個學習用工具的過程(我本來也不會),所以歷程上會經歷
- 能不能寫個自訂 function,並拿來使用
- 需要知道那筆的相關資料如何取用
- javascript 與 google sheet 的基本語法
- 如何在 google sheet 上 debug
- 參數化與專案使用調整
對於不同的使用者需求
- 如對於原專案使用者,只要知道有這個函示,學會安裝與使用即可。
- 針對調整與加入新演算法,則需要略為了解這段小程式與熟悉相關的 debug 技巧,如果你有一點開發經驗,應該是個簡單到不行的過程。
- 如果是其他專案有類似需求,那這個範例應該很適合去改寫與套用,主要原因是,程式簡單,類似需要的功能都具備,也相當好懂。
程式碼與當初相關的研究筆記釋出在這裡,請參考 「第一次用 Google script 來評分」、「評分等級 script」、「google sheet script debug 經驗」三個子題來了解
文件連結與實例(第一次用 Google script 來評分,其他子題也在文件中)
google sheet 的 Apps Script 畫面
哈爸