我用來寫心理學大學畢業論文的App

用PsychoPy 來收集數據、Excel 清理數據、 R 來作心理統計學分析;再加 Word、 InDesign、Zotero來進行APA格式排版及引用來源管理。

🐟Curtis Chan FishSunSun
Curtis’s Digital Life

--

▲ 我的畢業論文所用到的主要軟件。由左至右:PsychoPy, Microsoft Excel, RStudio, Adobe InDesign (主要用大學圖書館的 Mac Pro 的), Microsoft Word。

前言

上次我整理了自己如何使用 OneNote 及 Apple Pencil 來幫助我在大學的學習。今次我回顧一下我畢業論文的過程,用了甚麼 App 來寫一篇實驗報告出來。一個大學論文背後牽涉多個軟件。

我的畢業論文主要是做記憶實驗。大三暑假時起步方向是研究工作記憶 (Working memory),不過開學前改成探究「辨識記憶」 (Recognition memory)。我的指導老師提供不少研究方向及實用的軟件,例如免費的 reference 管理軟件 Zotero 等。

利申:我沒有接受來自本文所提及過軟件的任何補償。

目錄

前言
用Excel、PsychoPy 及 R 來數據收集、分析
A PsychoPy 來進行收集反應
B Excel 準備實驗用的測試物
C 用 R 來分析數據及製作圖表
後記

用Excel、PsychoPy 及 R 來數據收集、分析

A PsychoPy 來進行收集反應

學校提供的付費實驗軟件是 E-Prime,除了要麻煩的實體密碼USB匙,最大問題這個軟件只有 Windows 版本。我上網找一找有甚麼代替品,在 ResearchGate (~研究人員版本Facebook)見到有些教授建議 PsychoPy — 一個開源免費跨平台 Python 程式的心理學實驗軟件。產自英國英格蘭諾定咸大學,PsychoPy 有一個算是易用的圖像化界面,可以額外寫程式擴充功能。

▲ PsychoPy官網截圖。

萬事起頭難,單靠參考官方手冊不能做出我想要的東西,越試越多問題跑出來。唯有用「自我實驗預言」告訴自己:「我可以寫到出來的!」。幸好,我不斷在網上找出答案出來,YouTube 及 Stack Overflow 可以教我如何由零開始寫一個實驗程式出來。

整個實驗簡單來說就是設定幾個循環 (Loop)來考驗受試者。後來想到可以在 PsychoPy 用 Loop 中 Loop 來精簡背後的設計。不過由於前期已定好了程式,效能上又差不多又沒有多餘時間,所以就不作大改動。

▼ 因為編程最重要是 documentation,我在畢業論文附錄記錄所有建講步驟。

▲ 所有相關條件設定及一些 Python 語言要注意的寫法。

▲ 測試階段會改變一部分顯示字元的頻色,目的是想知道個人偏好的顏色對受試者識別變化的能力。

▼ 安排學習階段與測試階段的實驗項目。

B Excel 準備實驗用的測試物

我的實驗要根據受試者所提供的顏色選擇,來調整不同測試字元的顯示樣式。我完全不懂寫 Python,所以不知如何是好。

突然靈機一觸,因為 PsychoPy 支援抽取 Microsoft Excel 試算表/ .CSV 檔案每一横行數值來作為每一個測試畫面的顯示變數。我乾脆直接在 Excel 設定每一個 trial 的顏色,在 PsychoPy 做一些小安排就得到我想要的實驗。

▲ 跨工作簿儲存格參照目標的實驗顏色參數

在實驗開始之前,我用 Google Form 來收集參與者的個人資料及一些實驗參數。後者的實驗參數會直接更新一個獨立試算表 colorSet.xlsx,再在 PsychoPy 參考實驗字表 wordStudy 與 wordTest 中,採用新的 IFS 公式來自動參考跨 Excel 檔案。

▼ 在實驗用的顏色代碼與對應 HEX 代碼。

▲ 最初設計紙本的問卷。設計上將題號置中,方便定位。一些欄位不是目標的數據,例如下方E4與E5題,它們只不過是讓實驗員,再次確認受試者是否通過所有必要的授權步驟。

包含一些電腦可識別的排版,這些表格可以用開源的 Form Scanner 來轉換。不過後來我考慮到一點,既然我的受試者都是大學生(或年青的朋友),為何不直接改用 Google Form?一個簡單工夫將問卷加同意書電子化。因為我在暑期已經準備好這個問卷,雖然不再使用,還是照當附錄填充一下頁數。

用 Form Scanner 來自動化掃描附有光學識別標記的紙本可以參考我寫的:

▲ 第二部分會整理一下我如何用 Word 來製作符合 APA 格式的報表。

C 用 R 來分析數據及製作圖表

▲ 用 RStudio 來寫出看了幾篇都不太明白的程式碼。 q() 是一個實用的函數,讓你快速 quit 這個軟件。

PsychoPy 輸出實驗結果成一個 CSV 檔案,簡單數據梳理後,我再參考 R 一些 useR 網絡社群,看看大家都用甚麼將這些原始數據轉成圖表。然後,我就安裝了幾個像瀏覽器外掛的 package,拿來進行統計分析及繪製圖表。

比起用 SPSS,R 運行界面又快又不用錢,也可以跳過按一堆按鈕才能做統計分析。舉例來說 ,我只要幾行程式碼(不計讀取data的步驟)就可以輸出結果。

> psyTestModel <- aov(dataSet)
> summary(psyTestModel)
> TukeyHSD(psyTestModel, conf.level = 0.95)

▲ R程式碼來執行心理學常用來比較多個實驗組結果的 ANOVA

▼ 我在 R-Studio 輸出的 PDF 圖表(左),再用 Adobe 的 InDesign 在x/y軸加上一些數學概率符號,如 P(答案為假|已知為真)。同時增加 ROC 圖表可讀性,如加粗線條、放大圖例、去除白色背景透明化。後期加工主要為了讓完成品看上去更專業(刪:型仔啲),不像課堂上教的 z/t/F 分佈圖。

▼ 我的心理學畢業論文的2小時口頭海報報告 (Google Drive 副本)
自己的學術海報就是要有自己的風格,而 Solo 報告可以高度控制所有展示細節。我在大學圖書館用有 Adobe InDesign 的 Mac Pro 來設計這個海報。這張 A0 防水膠面海報有點貴,在旺角 MTR 附近商鋪列印出來要 HK$160。

TK 這裡缺一張Adobe InDesign 界面的圖

--

--

🐟Curtis Chan FishSunSun
Curtis’s Digital Life

讀心理學,鐘意科技同效率相關題材。A Psychology student is hooked on technologies and productivity. #地鐵迷 #非火車迷 #科幻 #電子化 #硬筆書法#手寫 #metro #digital #handwritten #calligraphy