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

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

▲ 我的畢業論文所用到的主要軟件。由左至右: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’s Digital Life

Reflection of many techniques, tips that increase one’s value in digital era, by Curtis Chan

🐟Curtis Chan Chun Tsong

Written by

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

Curtis’s Digital Life

Reflection of many techniques, tips that increase one’s value in digital era, by Curtis Chan

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade