[SAS] PROC TTEST 基本款使用(revised990614)

好一陣子還沒補實習課的教材,在介紹下周內容前先補已經上過的PROC TTEST

因為帶的課是初等統計學,因此讀者若想學到比較艱難的部分,可能要等之後~

就大學部初等統計學而言,會學到的主要有以下三種t test

t test (PROC TTEST)

  • One sample t test
  • Two sample t test → Paired t test、Indepedent two sample t test

t test常用在檢定一組或兩組平均值是否相同,並以一個範例作說明。

一組獨立樣本t檢定(one sample t test)

問題:衛生人員在速食店隨機抽查食物內的防腐劑,總共抽五個產品(防腐劑含量單位ppm),想要了解這些產品的防腐劑含量是否高於3ppm。

先複習有關假設檢定,看到研究題目先以該問題思考假設如何設定、單尾或雙尾、接著計算統計量、下結論。

以此範例而言,問題為「含量是否高於3ppm」,有念書的學生應該會馬上頓悟:單尾!

通常one sample t test會有一個比較的數值,如同此範例的「含量是否高於3ppm」或是「全校女生體重為50公斤、抽到某班女生的體重是否有代表性」等

SAS的程式指令如下:

PROC TTEST DATA=ppm3 H0=3;  /*除了PROC TTEST之外,由於是檢定是否高於3,因此要設立H0(零,不是英文字母o)*/
    VAR ppm;  /*告訴SAS現在欲檢定的變項為ppm*/
RUN;

輕鬆完成SAS程式編輯,接著看output

onesample

主授老師很強調SAS報表解讀,因此我將對此output作詳細說明,後面兩款t test的output解讀可以依樣畫葫蘆!

  • N: 樣本數,從這裡可以確認是否有讀錯dataset
  • Mean: 平均數,即變項food的五個數值平均數(單位ppm)
  • Std Dev: 變項food的標準差
  • Std Err: 樣本平均數估計的標準差,即標準誤,也就是如果我們可以重複抽樣本上百次,可以期待平均數的標準差接近標準誤
  • 95% CL Mean: 平均數的信賴上下界
  • 95% CL Std Dev: 標準差的信賴上下界
  • DF: 自由度,即樣本數減1
  • T value: Student t-statistic的統計量
  • Pr > |t|: 利用t分布所抓出來的雙尾機率,(附註:For a one-tailed test, halve this probability)

兩組獨立樣本t檢定 (two indepedent sample t test)

透過兩組獨立樣本t檢定,可以比較兩組的平均值是否有差異

如男女生身高是否不同?台大生X組與流X組英文成績是否不同?以下介紹範例

問題:痛風病人與正常人血中尿酸量(變項value)是否不同?

PROC TTEST DATA=gout;
    CLASS group;  /*告知SAS分組變項為何*/
    VAR value; /*欲檢定的變項,如尿酸量的變項為何*/
RUN;

不同於one sample t test,檢定獨立樣本兩組是否有差多了CLASS指令需要設定

報表如下:

twosamplet

報表顯然比上者大上許多,但是無須害怕。

首先可以發現group欄位中出現1、2、Diff (1-2),SAS分別給你痛風病人、正常人、兩組相減的平均數、標準差等描述性統計量

但是最大的不同在於多檢定Equality of Variances,看變異數是否相同後再決定要用Pooled、Satterthwaite

若變異數小於研究者訂定的alpha level (顯著水準) 例0.05,就要使用變異數unequal解讀資料。

以此題痛風與正常人的尿酸量,由於Equality of variance=0.007 < alpha=0.05,因此採Unequal的方式,對出來的P value=0.0099

因此就可以下結論了 。

 

兩組相依樣本t檢定 (paired t test):

最後介紹的是pairted t test,適用的情境例如看病人前後測的數值是否有差異、雙胞胎的數學成績是否有差異等

兩組樣本是有某種程度上的相關。以下是範例

問題:六位病人洗腎病人透析前後體重是否不同?

PROC TTEST DATA=wt;
    PAIRED before*after;  /*不同於兩組獨立樣本t檢定,此處以paired後面接著兩個變數,分別是前測與後側的數值,以星號連結*/
RUN;

謝謝gafa指正0614

 

pairttest

有沒有覺得報表很像one sample t test的output?

解讀的部分可參照上述例子。

資料來源:沈明來(2007)生物統計學入門,第五版,九州

同場加映:

在SAS裡面預設皆以雙尾檢定, 如果想要呈現單尾,在SAS9.1版本中需要人工自行將p-value除以二;在SAS9.2版中可以設定option讓p-value自動轉成單尾

PROC TTEST SIDES=2/L/U; /*2表示(default)雙尾、L表示Lower one-sided test、U表示Higher one-sided test*/

以指令舉例,在PROC後面輸入SIDES=,報表就會跑出單尾的P-value,但是output不會特定標示

不過在95%信賴上下界的地方可以看出。

有興趣的讀者可以試試看



17 Responses to “[SAS] PROC TTEST 基本款使用(revised990614)”

  1.   gafa Says:

    您好:
    您的網頁讓我獲益良多~~謝謝
    我想請問一下
    兩組相依樣本t檢定 (paired t test):
    PROC TTEST DATA=wt;
    VAR before*after;
    RUN;
    ==============================
    VAR before*after;—–>是否要改成paired before*after;???

    不好意思,因為我完全沒有接觸過SAS…
    純粹是看你的網頁學習…
    所以想請教你..謝謝喔

  2.   Shrimp Li Says:

    HELLO:
    謝謝你的細心指正~我眼殘打錯了orz
    非常感謝你!
    文章已經修正[SAS] PROC TTEST 基本款使用

    謝謝!!!

  3.   gafa Says:

    ^^謝謝喔
    因為覺得你的SAS教學網頁真不錯!
    對初學者很有幫助..
    有不會的..再跟你請教喔~~^^

  4.   Shrimp Li Says:

    HELLO:
    好說好說,互相切磋

  5.   yfs Says:

    請問 paired t test 適用之 sample 數有無限制

  6.   Shrimp Li Says:

    HELLO:
    基本上paired t test是屬於有母數的統計分析方法,建立在樣本分布為normal distribution假設之下。
    倘若你的樣本數很少,沒有符合常態分布假設
    可以考慮使用對應的無母數分析方法sign test或Wilcoxon sign rank test(Wilcoxon符號等級檢定)

  7.   Jacky Says:

    請問什麼時候要求P-VALUE時要用 1- “Pr > |t|”的值,
    如 Pr > |t| = 0.5625
    P-VALUE = 1-0.5625 = 0.4375

    謝謝

  8.   Shrimp Li Says:

    建議回到「假設檢定」統計書籍章節, 了解P-value的定義與意義後, 相信會有所斬獲

  9.   Jimbo Says:

    At last, someone comes up with the “right” anewsr!

  10.   TAKESHI Says:

    你好!PROC TTEST DATA=ppm3 H0=3; 是檢定是否高於3,
    請問如果我要檢定是否低於3該怎麼寫語法?

  11.   Shrimp Li Says:

    Hello,
    你手上使用的sas版本是?

  12.   Charles Says:

    你好 我想請問
    如果我想要測兩個族群 是否有t-test 顯著,
    請問程式碼該怎麼寫呢? 如果匯入資料時 又該怎麼匯入呢?
    比如說

    GOOD | BAD
    Bank A 的 Stock Return | Bank D 的 Stock Return
    .
    .
    .
    .

    這樣子可以跑嗎? 我是用SAS 9.3

  13.   Shrimp Li Says:

    兩個族群是獨立還是有相依關係?
    匯入資料有好幾種方式, 你可以用匯入精靈或是寫code讓他匯入
    檔案格式為何? 看妳9.3的版本是否有支援匯入精靈

  14.   Emily Says:

    請問如何以 N, Mean 與Std Deviation 等統計量做T 檢定? 謝謝您.

  15.   Emily Says:

    請問如何將paired test中兩變數的差(Differece)設為一個新變數,再跑一次兩獨立或相依樣本檢定. 感謝.

    上一個問題是沒有每筆觀察值資料下, 如何以觀察值個數, 平均數 與標準差等統計量做T 檢定? 謝謝您.

  16.   Shrimp Li Says:

    Why you need to do TTEST from them?
    Maybe you could export your N/ MEAN/ STD for further PROC use

  17.   Shrimp Li Says:

    use Output Ordering from PROC TTEST statement


total of 1241608 visits