Potato 能匯入來自 Qualtrics、REDCap、LimeSurvey、SurveyJS、Network Canvas 或 XLSForm 的問卷並執行它,支援隨機分配實驗條件,針對敏感話題的列表實驗和隨機化回答,以及自我中心網路的提名生成器。Potato 免費開源,執行在你自己的機器或所在機構的伺服器上,回答資料也就留在那裡。
調查實驗需要的不只是一個表單生成器:隨機分配要在各條件之間保持平衡,題目要按規則顯示或跳過,要有讓人能私下回答敏感問題的設計,匯出還要記錄每位受訪者被分配到什麼、看到了什麼。Potato 在一份 YAML 配置中滿足這些需求。由於 Potato 執行在你自己的伺服器上,回答資料受你所在機構的資料協議約束。隨著一些大學和院系停止使用 Qualtrics,自己執行伺服器變得更加重要。例如,拉德堡德大學社會科學學院要求其研究人員在 2026 年 12 月 1 日前遷移到 LimeSurvey。
Potato 中的調查研究設計
每一行是 Potato 2.12 自帶的一項功能,連結頁面列出了它的選項。
| 任務 | Potato 的做法 | 文件 |
|---|---|---|
| 調查實驗與情境實驗(vignette) | conditions 給每位受訪者分配因子設計中的一個單元格,頁面和題目上的規則可以讀取所分配的條件 | 實驗流程 |
| 列表實驗 | list_experiment 只向處理組顯示敏感條目,匯出時估計其發生率 | 敏感問題 |
| 隨機化回答 | randomized_response,支援強制回答設計和交叉設計 | 敏感問題 |
| 個人網路 | ego_network,含提名生成器、提名直譯器、他者之間的關係和社會關係圖 | 自我中心網路 |
| 經過驗證的量表 | 55 套工具,涵蓋人格、心理健康篩查、情感、態度和人口統計資訊 | 調查工具 |
| 跳題邏輯與分支 | 題目上的 display_logic,以及頁面上的 show_when 和 exit_when | 多階段工作流 |
| 編碼開放式回答 | 把回答作為條目載入,由多名編碼者依據碼本編碼,並計算 Krippendorff's alpha | 內容分析 |
一個列表實驗
下面這段配置把受訪者分成對照組和處理組,敏感陳述只出現在處理組的列表中。受訪者只報告有幾條陳述符合自己的情況,從不說明是哪幾條;survey_experiments 匯出會估計敏感條目的發生率,並給出標準誤和 95% 區間。
conditions:
factors:
list_group: [control, treatment]
annotation_schemes:
- annotation_type: list_experiment
name: lists
description: How many of these have you done in the last year?
items:
- Gone to a live music concert
- Bought a book in a shop
- Volunteered for a local group
sensitive_item: Driven a car after drinking alcohol
treatment: {factor: list_group, level: treatment}對照陳述要選那些對大多數受訪者來說既不全真、也不全假的。如果每一條陳述都符合、或者沒有一條符合某位受訪者,計數就會暴露敏感問題的答案,這個設計也就失效了。
匯入已有問卷
potato import 能讀取 Qualtrics .qsf、REDCap 資料字典、LimeSurvey .lss、ODK、KoboToolbox、SurveyCTO 或 Ona 使用的 XLSForm、SurveyJS JSON、Beiwe 問卷,以及 Network Canvas 協議。題目、頁面和顯示/隱藏邏輯會轉換為 Potato 的問卷頁面和規則。這些檔案都不含回答資料,所以匯入遷移的是問卷本身,已收集的資料留在原處。
potato import -i my-survey.qsf -o survey-project/與 Qualtrics、REDCap、ODK 和 Network Canvas 的分工
這些工具各自面向不同的使用場景。Qualtrics 是託管式商業調查平臺,通常由大學統一購買許可。REDCap 面向聯盟成員機構的臨床與研究資料庫。ODK 和 KoboToolbox 在野外用移動裝置離線採集資料,Network Canvas 用於訪員輔助的網路訪談。Potato 在你自己的伺服器上執行網路問卷,並額外提供實驗條件、敏感問題設計、同一會話中的標註任務、Prolific 和 SONA 招募,以及統一的匯出。
常見問題
不用 Qualtrics,能執行帶隨機分配的調查實驗嗎?
能。conditions 以跨單元格平衡、隨機或輪轉的方式,給每位受訪者分配被試間設計中的一個單元格,頁面重新載入後受訪者仍留在原單元格。頁面和題目可以根據所分配的條件做判斷,CSV 匯出會把每位受訪者的條件寫入 participants.csv。
如何線上搭建列表實驗?
使用一道 list_experiment 題,包含一個對照列表和一個敏感條目,再加一個兩水平的條件來決定誰能看到敏感條目。survey_experiments 匯出用均值差法估計敏感條目的發生率,並給出標準誤和 95% 區間。隨機化回答題的用法相同。
為滿足 IRB 或 GDPR 的要求,問卷回答能留在我自己的伺服器上嗎?
能。Potato 執行在你選擇的伺服器上,回答寫入這臺伺服器的磁碟。除非你配置了外部服務,例如託管的 AI 端點,否則不會向任何第三方傳送資料。某套具體部署是否滿足你的 IRB 或 GDPR 要求,由你所在的機構決定。
能在網路問卷中用提名生成器收集自我中心網路資料嗎?
能。一道 ego_network 題在同一個問卷頁面上依次執行各個環節,包括提名生成器、關於每位被提名者的問題、這些人之間的關係,以及在圖上擺放位置。ego_network 匯出寫出 ego、alter 和 edge 三張表,併為每個網路寫出一個 GraphML 檔案;除非設定 export_names=true,否則不包含姓名。