Stata + Python 雙劍合璧:自動化資料處理與統計分析實踐

更新 發佈閱讀 6 分鐘


當代的數據科學領域,Stata 以其嚴謹的統計報表著稱,而 Python 則在資料清理與結構變換(如長寬表轉換)展現了強大的彈性。對於追求專業效率的研究者而言,不再需要將資料在多個軟體間匯出匯入,透過 Stata 內置的 Python 引擎,我們可以在同一個 .do 執行檔中完成所有工作。

本文將以一個實際的臨床滿意度調查資料為例,示範如何在 Stata 19.5 環境下串接 Python。


一、 環境建置:穩定連結的基礎

在開始分析前,最關鍵的一步是讓 Stata 找到正確的 Python 實體路徑。如果您使用 pyenv 進行環境管理,請務必指向真正的 .exe 檔案。

  • 在Windows,開啟命令提示字元(cmd),鍵入 where python,即可以找到系統預設python位置
  • 在 macOS(蘋果電腦)上,可以用 Terminal(終端機) 鍵入which python3 ,查詢 Python 安裝位置
# ​Windows
Microsoft Windows [版本 10.0.26200.8457]
(c) Microsoft Corporation. 著作權所有,並保留一切權利。

C:\Users\user>where python
C:\Program Files\Python311\python.exe

找到 python位置後,回到Stata ,鍵入 set python_exec <你的Python路徑> , permanently ,即設定好 Stata 與 python 關聯性,以後就能在 Stata 使用 python

Stata
* 1. 初始化環境
clear all
set python_exec "C:\Users\User\.pyenv\pyenv-win\versions\3.11.9\python.exe", permanently

*註:在執行過程中,若遇到 Unknown #command 錯誤,通常是符號誤用(如用成 # 而非 ),修正為註解符號即可。

vocus|新世代的創作平台

二、匯入CSV檔

import delimited "C:\0514\data.csv", encoding("UTF-8") clear
list in 1/10 // 查看前10筆長表數據
vocus|新世代的創作平台


三、 Python 介入:優雅的資料重組 (Reshaping)

雖然 Stata 有 reshape 指令,但面對複雜結構時,Python 的 Pandas 庫提供了更直覺的邏輯。

Stata 啟用 python ,只要在Command 中 鍵入 python後,即可以進入python,退出python時,輸入end就退出

1. 長表轉寬表 (Long to Wide)

我們將原始數據匯入後,利用 pivot 功能,將「週次 (Week)」展開為獨立欄位。這在檢視個別受試者在不同時間點(如 vist1 與 vist2)的表現變化時非常有幫助。

2. 寬表轉回長表 (Wide to Long)

利用 melt 指令,我們可以輕易將資料轉回長表格式。這對於後續執行 T 檢定或混合模型分析至關重要。

python:
import pandas as pd
from sfi import Data

# 抓取數據並轉為寬表
df = pd.DataFrame(Data.get(None))
df.columns = ['ID', 'Group', 'Week', 'Satisfaction']
df_wide = df.pivot(index=['ID', 'Group'], columns='Week', values='Satisfaction').reset_index()
print(df_wide.head())
end
vocus|新世代的創作平台
vocus|新世代的創作平台


三、 Stata 統計:精準的 T 檢定分析

完成資料重組後,我們回到 Stata 執行核心統計分析。本次分析重點在於:「實驗組」與「對照組」在滿意度上是否存在顯著差異?

1. 總體滿意度比較

根據 Stata 輸出的 ttest 報表顯示,實驗組平均值為 5.72,對照組為 3.38。

  • P 值 (Pr > |t|) = 0.0000:代表兩組間存在極顯著差異。t 值 = 8.8351:顯示實驗組的滿意度顯著高於對照組。

2. 特定時間點 (vist1) 的深入分析

為了更精確了解干預初期的影響,我們利用 if 條件式針對第一週數據進行檢定:

ttest 滿意度 if 週次 == "vist1", by(組別)

結果同樣顯示 $p < 0.01$,證明實驗組在初期即展現出優勢。

vocus|新世代的創作平台


四、 結語:為什麼研究者需要這種流程?

透過 .do 指令檔(stata_code)進行管理,我們確保了研究的可重複性 (Reproducibility)。當數據更新時,您只需按下一鍵,Stata 就會自動透過 Python 進行清洗,並即時產出最新的統計報表。

這種工作流不僅減少了手動複製貼上的錯誤風險,更能讓研究者專注於數據背後的科學洞察。




留言
avatar-img
慵懶貓系的小墨魚:數據外的日常觀察
4會員
52內容數
小墨魚,一位白天擅長資料分析與統計建模的數據工作者,夜裡則沉浸在書本與文字裡,透過閱讀與寫作與世界對話。工作之餘,也兼職統計家教,協助學生理解複雜的統計概念與軟體操作。這裡記錄我的書評、生活觀察、科技碎念,有時也寫下關於時間與情緒的小片段。願這些文字,成為我們在日常中相遇的溫柔片刻。
2026/03/21
本文將深入探討 Quarto 的 .qmd 檔案格式,特別聚焦於程式碼區塊的各種選項,例如 echo、include、eval、message、warning、output、圖形設定、cache 和 label。透過這些選項的精準控制,您可以創作出既乾淨專業、富有互動性,又具備高度可重現性的技術文件
Thumbnail
2026/03/21
本文將深入探討 Quarto 的 .qmd 檔案格式,特別聚焦於程式碼區塊的各種選項,例如 echo、include、eval、message、warning、output、圖形設定、cache 和 label。透過這些選項的精準控制,您可以創作出既乾淨專業、富有互動性,又具備高度可重現性的技術文件
Thumbnail
2026/03/04
解決GIS座標系統轉換的痛點,釐清WGS84 (EPSG:4326)、TWD97_121 (EPSG:3826) 與 TWD97_119 (EPSG:3825) 在臺灣的地理資料處理上的應用差異,提供資料分析師與研究者在R或Python中的實務開發建議。
Thumbnail
2026/03/04
解決GIS座標系統轉換的痛點,釐清WGS84 (EPSG:4326)、TWD97_121 (EPSG:3826) 與 TWD97_119 (EPSG:3825) 在臺灣的地理資料處理上的應用差異,提供資料分析師與研究者在R或Python中的實務開發建議。
Thumbnail
2026/02/11
JSON 已成為網路上資料交換的標準格式。本文將深入解析 JSON 中 {}(物件)和 [](陣列)的應用時機,並介紹如何在 Python 中輕鬆轉換 JSON 資料,以及處理中文編碼和格式化等實用技巧。
Thumbnail
2026/02/11
JSON 已成為網路上資料交換的標準格式。本文將深入解析 JSON 中 {}(物件)和 [](陣列)的應用時機,並介紹如何在 Python 中輕鬆轉換 JSON 資料,以及處理中文編碼和格式化等實用技巧。
Thumbnail
看更多
你可能也想看
Thumbnail
見諸參與鄧伯宸口述,鄧湘庭於〈那個大霧的時代〉記述父親回憶,鄧伯宸因故遭受牽連,而案件核心的三人,在鄧伯宸記憶裡:「成立了成大共產黨,他們製作了五星徽章,印刷共產黨宣言——刻鋼板的——他們收集中共空飄的傳單,以及中國共產黨中央委員會有關文化大革命決議文的英文打字稿,另外還有手槍子彈十發。」
Thumbnail
見諸參與鄧伯宸口述,鄧湘庭於〈那個大霧的時代〉記述父親回憶,鄧伯宸因故遭受牽連,而案件核心的三人,在鄧伯宸記憶裡:「成立了成大共產黨,他們製作了五星徽章,印刷共產黨宣言——刻鋼板的——他們收集中共空飄的傳單,以及中國共產黨中央委員會有關文化大革命決議文的英文打字稿,另外還有手槍子彈十發。」
Thumbnail
我相信有不少人,我說使用Windows系統的,已經陸續都收到跳出的訊息-系統已經可以更新升級Windows,而且是免費的喔!這樣的訊息,讓我既期待又怕受傷害,不知道各位系統更新之後,是否有過這樣的經驗就是,很多安裝的軟體無法使用了,更有可能有資料的消失? photo credit to Hung
Thumbnail
我相信有不少人,我說使用Windows系統的,已經陸續都收到跳出的訊息-系統已經可以更新升級Windows,而且是免費的喔!這樣的訊息,讓我既期待又怕受傷害,不知道各位系統更新之後,是否有過這樣的經驗就是,很多安裝的軟體無法使用了,更有可能有資料的消失? photo credit to Hung
Thumbnail
每年一次的 State of JS 問卷調查,不只是觀察前端技術趨勢的工具,更是檢視自身技能與學習方向的絕佳機會。透過這份調查,你可以了解前端生態的變化,確保自己沒有錯過重要資訊,並規劃未來的學習路線。
Thumbnail
每年一次的 State of JS 問卷調查,不只是觀察前端技術趨勢的工具,更是檢視自身技能與學習方向的絕佳機會。透過這份調查,你可以了解前端生態的變化,確保自己沒有錯過重要資訊,並規劃未來的學習路線。
Thumbnail
5 月,方格創作島正式開島。這是一趟 28 天的創作旅程。活動期間,每週都會有新的任務地圖與陪跑計畫,從最簡單的帳號使用、沙龍建立,到帶著你從一句話、一張照片開始,一步一步找到屬於自己的創作節奏。不需要長篇大論,不需要完美的文筆,只需要帶上你今天的日常,就可以出發。征服創作島,抱回靈感與大獎!
Thumbnail
5 月,方格創作島正式開島。這是一趟 28 天的創作旅程。活動期間,每週都會有新的任務地圖與陪跑計畫,從最簡單的帳號使用、沙龍建立,到帶著你從一句話、一張照片開始,一步一步找到屬於自己的創作節奏。不需要長篇大論,不需要完美的文筆,只需要帶上你今天的日常,就可以出發。征服創作島,抱回靈感與大獎!
Thumbnail
當時間變少之後,看戲反而變得更加重要——這是在成為母親之後,我第一次誠實地面對這一件事:我沒有那麼多的晚上,可以任性地留給自己了。看戲不再只是「今天有沒有空」,而是牽動整個週末的結構,誰應該照顧孩子,我該在什麼時間回到家,隔天還有沒有精神帶小孩⋯⋯於是,我不得不學會一件以前並不擅長的事:挑選。
Thumbnail
當時間變少之後,看戲反而變得更加重要——這是在成為母親之後,我第一次誠實地面對這一件事:我沒有那麼多的晚上,可以任性地留給自己了。看戲不再只是「今天有沒有空」,而是牽動整個週末的結構,誰應該照顧孩子,我該在什麼時間回到家,隔天還有沒有精神帶小孩⋯⋯於是,我不得不學會一件以前並不擅長的事:挑選。
Thumbnail
當我們在開發一個AI應用服務時, 常常會需要載入大模型, But… 我們總不可能每一次的請求就載入一次模型吧! 這樣太沒有效率了, 也非常的浪費資源, 因此我們通常會希望應用程式啟動時就能夠載入模型, 之後每一次的請求只要讓模型進行運算即可, 那麼在FastAPI的框架中究竟要如何使用呢? 首
Thumbnail
當我們在開發一個AI應用服務時, 常常會需要載入大模型, But… 我們總不可能每一次的請求就載入一次模型吧! 這樣太沒有效率了, 也非常的浪費資源, 因此我們通常會希望應用程式啟動時就能夠載入模型, 之後每一次的請求只要讓模型進行運算即可, 那麼在FastAPI的框架中究竟要如何使用呢? 首
Thumbnail
當代名導基里爾.賽勒布倫尼科夫身兼電影、劇場與歌劇導演,其作品流動著強烈的反叛與詩意。在俄烏戰爭爆發後,他持續以創作回應專制體制的壓迫。《傳奇:帕拉贊諾夫的十段殘篇》致敬蘇聯電影大師帕拉贊諾夫。本文作者透過媒介本質的分析,解構賽勒布倫尼科夫如何利用影劇雙棲的特質,在荒謬世道中尋找藝術的「生存之道」。
Thumbnail
當代名導基里爾.賽勒布倫尼科夫身兼電影、劇場與歌劇導演,其作品流動著強烈的反叛與詩意。在俄烏戰爭爆發後,他持續以創作回應專制體制的壓迫。《傳奇:帕拉贊諾夫的十段殘篇》致敬蘇聯電影大師帕拉贊諾夫。本文作者透過媒介本質的分析,解構賽勒布倫尼科夫如何利用影劇雙棲的特質,在荒謬世道中尋找藝術的「生存之道」。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News