Stata: reshape 將資料從寬格式改成長格式

Stata 在作不同的分析時,會要求不同的資料格式,而資料格式指的是資料是長格式 (long format) 還是寬格式 (wide format)。一般而言,如果你不是panel data,通常寬格式就可以了。如果你是panel data,也就是你的outcome variable測量了許多次,那大部分的情況下你都必須將資料轉換為長格式。

不過這部分每個統計軟體不一樣,像SPSS的repated ANOVA,用寬格式即可,但在Stata裡面,repeated ANOVA必須將資料轉換為長格式才可以。

那究竟什麼是長格式,什麼是寬格式呢?

寬格式比較直觀,我們從寬格式說起。如果你的outcome測量了三次,那你的資料可能如下:

uid outcome1 outcome2 outcome3

1         100             90          95

換言之,寬格式一個人只有一筆資料,用不同的欄位來代表不同時間的測量

長格式的話,就不一樣,一個人有多筆資料,欄位相同,但多了時間變數

長格式如下:

uid time outcome

1      1       100

1      2         90

1      3         95

那在Stata裡面,該怎麼作呢?這透過reshape這個指令。在Stata 的說明裡面,說的挺清楚的:

Stata reshape

如果從寬格式轉換成長格式,指令如下:

reshape long outcome, i(uid) j(time)

要作轉換之前,你必須確保outcome前面部分是相同的,後面指的是時間,像之前例子說的outcome1, outcome2

在指令裡面,i後面括號放的是區別每一筆紀錄的變數,j後面放的是新變數,用來區別時間的。轉換之後,這個值就是outcome變數名稱的值。

標籤: