統計分析

Stata: 產生虛擬變量(Create dummy variables)

Stata是一套滿簡單、易學的統計軟體,最近在用它跑問卷分析,所以就產生了不少虛擬變量(dummy variables),於是就簡單寫篇教學文吧!

如果你拿到一個資料像是這樣的:

id language
1 1
2 1
3 2
4 3

language的數字代表不同的語言,1對應到Chinese,2對應到English,3對應到Spanish。要產生dummy variable,在stata最土法煉鋼的方式就是用gen指令(generate的縮寫,在stata輸入gen就行了)先產生一個變數,然後在用replace 將language的值指派給dummy variable。

Language有三個值,我們只要產生3-1=2 個虛擬變量,這點非常重要,一定要弄對,不然辛苦了半天跑出來的結果會非常怪。當然也有人傾向產生3個虛擬變量,到時候跑regression的時候少放一個當作是reference group,但一定要記得少放才行啊!

那我們就以Chinese為reference group,所以我們就不需要產生Chinese這個虛擬變量,而是產生dEnglish, dSpanish這兩個。開頭的d表示是虛擬變量,以示分別,免得自己弄錯。

gen是產生變數的指令,所以我們要先產生dEnglish與dSpanish。

gen dEnglish=0

gen dSpanish=0

再來就是要給這兩個新的變數1這個值。language欄位中2的值表示English,所以用replace把值指過去

replace dEnglish =1 if language==2

replace dSpanish =1 if language==3

注意:language==是兩個等號,不是筆誤。比較數值的時候用==,指派數值的時候用=。

很多人會搞混的一點就是:為什麼dEnglish跟dSpanish都要=1?產生虛擬變量的目的就是把上述的表格變成下面這樣:

id language dEnglish dSpanish
1 1 0 0
2 1 0 0
3 2 1 0
4 3 0 1

我們回顧一下每個變數的定義。Language是母語,dEnglish的定義則是此人的母語是English,是的話值就是1,不是的話值就是0。dSpanish同理可推,如母語為Spanish值為1,否的話值為0。所以上面的語法才會dEnglish與dSpanish的值為1。

想一想,上面這樣寫有什麼問題?如果我們的table像下面這樣,問題就出現了:

id language dEnglish dSpanish
1 1 0 0
2 1 0 0
3 2 1 0
4 3 0 1
5 .

Stata: 產生虛擬變量(Create dummy variables) Read More »

因素分析(Factor Analysis)

這裡要講的因素分析不是在ANOVA裡面看到的Factor Analysis of Variance,而是結構方程模式分析(Structural equation model,簡稱SEM)裡面的一環。因素分析裡面一定會有latent variable(隱性變量),又有人稱為factors(因素)。講半天還是不知道是什麼,對吧?有圖有真相:

1.png

圖中???的地方,就是你不知道的,也就是我們上面所說的latent…

因素分析(Factor Analysis) Read More »

AMOS的第一堂課

AMOS是作SEM的好物,要下載AMOS到這裡,要下載示範用的dataset到這裡 (2011年11月8日補檔)。

AMOS作出來的成果像什麼樣子?你畫出你的model,設定變數,AMOS幫你計算,並在圖上標出來。這不酷嗎?懂SEM的好處之一,就是你可以將理論與結果結合,並用很直覺地方式呈現,增加你的說服力。

1.png

現在就開始來玩AMOS。在左方有一排圖案,先選最左上角的,這個方框表示observed variable。那什麼是observed variable?意思是你直接觀察到的,而不是藉由「推算」出來的。無法直接觀察的變數,而是藉由推算或推論出來的,稱為latent variable,latent variable得使用右邊的橢圓形。舉個例子來說,你想要看生活品質,但其實沒有一個東西是測驗生活品質的,所以你從很多變數的結果,像是:家裡的經濟狀況、消費情形、旅遊次數等,去建構出「生活品質」這個概念。

2.png

回到這題,先拉三個observed variable到圖上,像這樣:

3.png

File-data file,然後選你的data,你會看到data file出現在上面。

4.png

5.png

按下OK之後,會回到原本的視窗。你會發現好像選了data file沒什麼不同。是的,你要把資料拿出來,放到框框裡,才會慢慢出現不同。

執行View-varaibles in dataset後,會看到data file裡面的變數表,然後把變數拉進去,像這個樣子:

6.png

7.png

設好變數之後,要來想想變數之間是什麼關係。我們不確定這三個變數之間是不是有因果關係,那我們就先來看看他們的相關度(correlation)或是covariate。代表這兩種關係的,就是個雙箭頭,所以就接下來把圖完成。畫圖有個小技巧,就是從後面往前面畫,像我是從Math2畫到SES1,弧型就會向下。

8.png

接下來是重頭戲了。要分析covariate,就在上面model fit選calculate estimates (如果你用的是AMOS 7,則是Analyze-calculate estimates)。

9.png

執行之後似乎還沒有東西是吧?因為會跳出一個視窗要把你的圖檔先存起來,AMOS才會開始計算。

10.png

執行完之後,什麼都沒有?別緊張,按上面這個鈕就會出現了:

11.png

1.png

至於怎麼解讀?我今天寫部落格的耐心用完了&要繼續作我的研究,只好下次再說了。

updated: 2011/11/6 將範例到放到 dropbox上了

AMOS的第一堂課 Read More »

SPSS: 取出符合條件的群組(select cases)

在我們的dataset裡面,race有五個族群,由1-5是Asian/Pacific Islander, Hispanic, Black not Hispanic, White not Hispanic, American Indian/Alaskan。如果我們只想看2(Hispanic)、4(White not Hispanic)和5(American Indian/Alaskan)時,要怎麼做呢?

在STATA很簡單,在你要跑到運算式後面,加上if來判斷就行了。在SPSS也不難,主要是用到select cases這個功能。先看一下資料長下面這樣:

1.png

執行Data–Select cases

2.png

會跳出下面的視窗,先選race,然後選if

3.png

你可以輸入紅色框框內容。 |表示or,這是最重要的一步。

4.png

如果回頭看你的data,你會發現race是1、3的,都被畫掉了。這表示我們做的沒錯。

5.png

如果不放心的話,你可以跑frequency,看看數值是否跟下面一樣。6.png

在SPSS中,如果要在一個類別變數裡,找出特定的群組,除了用select case以外,也可以手動用recode來做,但步驟比較多,而且也比較容易出錯。

SPSS: 取出符合條件的群組(select cases) Read More »

SPSS: one-way ANOVA 教學

ANOVA (中文有人翻「方差分析」或「變異數分析」)是許多人作論文時會用到的,特別是作實驗時,有兩組或兩組以上作比較。所以要用ANOVA的時機,就是你有categorical variable,想要看不同組之間是不是存在著差異。比如說男性和女性在數學成績上是否有差異,或是不同種族在數學上是否有不同差異,這兩個例子都可以用ANOVA。
如果你不知道要用ANOVA還是Regression,可參考用哪種統計分析好?

今天先講one-way Anova。為了讓大家也可以實作,我就拿我們老師教統計課用的範例dataset。此dataset是從NELS 88 (National Education Longitudinal Study of 1988)修改而來的,可以在可以在NELS88 Data for Intro Stats 下載。

解壓縮密碼:researcher20。

下載、解壓縮之後,請開啟資料庫。在開始作之前,先確定一下資料的筆數是不是5141筆,最後一個欄位是不是PassedMath3。如果都沒有問題,就開始作one way ANOVA。那我們的研究問題是什麼呢?
研究問題:不同種族是否在數學成績上有差異?
根據這個問題,我們的dependent variable 是 Math 3,independent variable是Race。
Analyze–> Compare Means–> One-way ANOVA

1.png

上面的選Math 3,下面的選Race。設定完之後按OK。
3.png

跑出來結果像這樣:2.png
弄這些一點都不難,問題是:要看什麼?第一個要看的是Between Groups對過去的Sig.,也就是下圖圈起來的地方。怎麼看呢?就是拿這個值與.05、.01和.001比較。如果比.05大,那表示此變數對結果沒影著影響,拿我們的例子來說,就是種族對數學成績沒影響。下面的是.000,此值<.001,所以是有顯著影響的。…

SPSS: one-way ANOVA 教學 Read More »

Scroll to Top