2009年6月28日

在SAS中使用已經整理好的統計量

實務上常遇到研究者只提供已算好的數字(統計量),例如列聯表中的個數和百分比或兩樣本的人數、平均數和標準差等,如果要利用這些統計量做某些檢定,例如卡方檢定或雙樣本T檢定等,可使用PROC FREQPROC TTEST處理僅有統計量的問題。

PROC FREQ

有兩群病患分別使用A藥和B藥,再觀察兩組實驗組症狀有無改善,結果如下表,如研究者想問A藥和B藥病患症狀改善的比率有無不同,可採用卡方檢定(Chi-square test)

  A藥 B藥
症狀無改善 9 12
症狀改善 21 18

當然第一步要先把資料輸入至SAS中,程式可以這樣寫:

DATA TRIAL_1;
INPUT DRUG $ EFFECT COUNT;
DATALINES;
A 0 9
A 1 21
B 0 12
B 1 18
;
RUN;
PROC SQL;
SELECT *
FROM TRIAL_1;
QUIT;

接下來是卡方檢定的部分

PROC FREQ DATA=TRIAL_1;
WEIGHT COUNT;
TABLE EFFECT*DRUG/CHISQ;
RUN;

PROC TTEST

同樣兩群病患使用A藥和B藥,使用後測量某個臨床指標(連續型變項),研究者欲使用T檢定,探討兩組病患的臨床指標平均值有無差異。資料如下表

  A藥(N=30) B藥(N=30)
臨床指標 89(12) 95(16)
mean(std)

因為這裡我們只有拿到兩組病患的人數、平均值和標準差,所以在輸入資料時要稍微複雜一點,必須符合SAS程式的規定,一定要有一個變項名稱為『_TYPE_』或『_STAT_』,在這個變項中,必須要放入‘N’、‘MEAN’、 ‘STD’這三筆資料,資料輸入程式如下

DATA TRIAL_2;
INPUT DRUG $ _TYPE_ $ EFFECT;
DATALINES;
A N 30
A MEAN 89
A STD 12
B N 30
B MEAN 95
B STD 18
;
RUN;

接下來執行PROC TTEST程序就簡單了,和一般寫法沒有太大差異

PROC TTEST DATA=TRIAL_2;
CLASS DRUG;
VAR EFFECT;
RUN;

以上程式可於SAS 9.1.3和SAS 9.2執行。

沒有留言:

張貼留言