SAS 簡單快速複習
Outline
•   三種資料輸入法
•   PROC MEANS
•   強迫式&條件式執行
•   PROC UNIVARIATE
•   PROC FREQ
•   GOTO label
•   PROC SORT
•   PROC SUMMARY
三種資料輸入法
輸入資料語法
DATA XXX;        建構一個SAS資料檔
INPUT A B C D;    輸入變項的名稱
CARDS;
放數據進來            數據輸入區
;

PROC PRINT;
                 要執行的工作程式碼
RUN;
SAS資料檔的檔名
• DATA XXX
1. 檔名必須以英文字母開始
2. 檔名不能有空白
3. 每個資料檔給予不同名稱
INPUT變項類型
1. 文字型:NAME, SEX
   需用 $ 來宣告變項為文字變項。



2. 數值型:ID, AGE, INCOME,RT…
• DATA步驟-用來建立或修改SAS資料

• PROC步驟-處理SAS資料檔

• SAS撰寫特性-
  (1) 以 ; 做結尾
  (2) 英文大小寫皆可使用
  (3) SAS指令可在同一列, 也可橫跨數行
  (4) /* XXX*/ 註解
1. 欄位讀取法(column mode)



            指定資料起迄位置
Column Input的特性
• Input 是以既定的行數位置來讀取,所以資
  料需在指定的行上。

• 文字變項可以包含空格。

• 遺漏值可用 . 或是空格表示。
2. 簡列讀取法(List Mode)
List Input的特性
• 資料之間要有空格。

• 文字變項不可含空格。

• 遺漏值必須用 . 表示,不可以空格。

• 最常使用此輸入法
3. 格式讀取法(Formatted mode)




            指定開始字元位置(@)
            與每筆資料的長度(0.)
Formatted Input的特性
• Input 是以指定的位置及長度來讀取,所以
  資料需在指定的位置上,並對應正確長度。

• 文字變項可以包含空格。

• 遺漏值可用 . 或是空格表示。
• 缺點:
    – 若數值超過該變項指定位元數,會被SAS排除。
         Name   Age   Rank
    –例   Tom    18     1
         Mary   20     2




正
確

錯
誤
摘要
• 欄位讀取法
 – 需計算行數,遺漏值可以空格或 . 表示


• 簡列讀取法
 – 最簡單常用,遺漏值只能用 . 表示


• 格式讀取法
 – 需計算位元數,遺漏值可以空格或 . 表示
PROC MEANS
功用
• 可用來計算基本的描述統計值

• 可針對配對資料進行統計檢定
常用格式
PROC MEANS options;
  VAR variables;
  BY variables;
  OUTPUT OUT=輸出檔名 輸出的統計量;
強迫式&條件式執行
強迫式執行
• 變項=被指派的值或函數

• 例如:
 – 常數的指派:N=20;
 – 文字的指派:sex=’female’;
 – 產生新變項:income=revenue-expenses;
條件式執行
• if……then……;else……;
  – if score < 60 then grade = ‘fail’;
   else grade = ‘pass’;


• if……then do;……end;
  – if major = ‘psycho’ then do;
       passing = 70;
    end;
PROC UNIVARIATE
功用
• 可計算指定變數的基本敘述性統計量

 – 集中趨勢指標(眾數、中數、平均數)

 – 離散趨勢指標(全距、四分位差、變異數、標準差)

 – 偏度、峰度
常用格式
PROC UNIVARIATE options;
  VAR variables;
  BY variables;
  OUTPUT OUT=輸出檔名 輸出的統計量;
PROC UNIVARIATE
– DATA= 指定對哪個資料檔分析

– NOPRINT= 不產生報表

– PLOT= 莖葉圖 / 盒圖 / 常態機率圖

– FREQ= 次數分配表 (次數 / 百分比 / 累積百分比)

– NORMAL= 檢定資料是否為常態分配
OUTPUT 輸出統計量
  指令           說明        指令          說明
   N         有效觀察體數量     Q3       第三四分位數
  NMISS     遺失的觀察體個數   MEDIAN       中位數
  NOBS       觀察體總數       Q1       第一四分位數
  MEAN        平均數      QRANGE       Q3 - Q1
  SUM          總和         P1      第 1 百分位數
   STD        標準差         P5      第 5 百分位數
  VAR         變異數        P10      第 10 百分位數
SKEWENESS      偏度        P90      第 90 百分位數
KURTOSIS       峰度        P95      第 95 百分位數
 SUMWT       加權值總和       P99      第 99 百分位數
  MAX         最大值       MODE         眾數
  MIN         最小值      SIGNRANK   等級符號檢定
 RANGE         全距      NORMAL     常態分配檢定
PROC FREQ
功用

• 用來建立指定變數的次數分配表或列聯表

• 亦可以算出卡方檢定的統計量
常用格式
PROC FREQ options;
  TABLES requests / options ;
  BY variables;
PROC FREQ options
• DATA= SAS dataset
  – 指定要分析的資料集,若不指定則取最新建立的

• ORDER指令
 ORDER=freq         表格中的變數值按次數遞減輸出

 ORDER=data         表格中的變數值以資料輸入順序輸出

 ORDER=internal     表格中的變數值以系統預設順序輸出

 ORDER=formatted   表格中的變數值以FORMAT敘述句定義的順序輸出
TABLES 敘述句
• 用以建立次數分配表&列聯表的描述

• 格式   TABLES requests / options

• requests 是由欲用來建立表格的變數名稱構成
    敘述句                  說明
  TABLES a;    產生變數 a 的次數分配表
  TABLES a c; 分別產生變數 a 和 c 的次數分配表
  TABLES a--e; 產生變數 a 到 e 的次數分配表
兩個以上變數的交叉表
   敘述句                    說明

TABLES a*b;       產生變數 a 和 b 的交叉分析表

                  產生變數 a 和 b 的交叉分析表

TABLES a*(b c);   產生變數 a 和 c 的交叉分析表

                  ( 和 a*b a*c 是同樣的意義 )


TABLES a*b*c;      產生三層次的交叉分析表
TABLES 敘述句
• options
  – 一般選擇項

  – 其他表資訊選擇項

  – 禁止印出選擇項
TABLES options
• 一般選擇項
 – MISSING
 – 視遺失值為非缺失值,包含在分析中

 – LIST
 – 指定二維以上表格不以列聯表方式輸出

 – OUT=dataset
 – 產生一個輸出資料集,包含變數類別&次數分配
DATA d1;
  INPUT a b sex $ @@;
CARDS;
11F31F
22M11F
.2M.1M
22M22.
;
RUN;
PROC FREQ;
  TABLES a b sex;
  TITLE '無MISSING選項的結果';
RUN;
PROC FREQ;
  TABLES a b sex/missing;
  TITLE '有MISSING選項的結果';
RUN;
DATA d1;
  INPUT a b sex $ @@;
CARDS;
11F31F
22M11F
.2M.1M
22M22.
;
RUN;
PROC FREQ DATA=d1;
  TABLES a*b sex;
  TITLE '未使用LIST選項指令';
RUN;
PROC FREQ DATA=d1;
  TABLES a*b sex / list;
  TITLE '使用LIST選項指令';
RUN;
DATA d1;
  INPUT a b sex $ @@;
CARDS;
11F31F
22M11F
.2M.1M
22M22.
;
RUN;
PROC FREQ;
  TABLES a*b sex/list;
  TITLE '未使用ORDER指令時';
RUN;
PROC FREQ order=freq;
  TABLES a*b sex/list;
  TITLE '使用ORDER=FREQ指令時';
RUN;
TABLES options
• 其他表選擇項
 – EXPECTED
 – 指定列印每個細格中的期望次數

 – DEVIATION
 – 指定列印每個細格中的次數&期望次數的離差

 – CUMCOL
 – 指定列印每個細格的累積百分比
TABLES options
• 其他表選擇項
 – MISSPRINT
 – 列印遺失值的次數,但不包含在其他統計量計算

 – SPARSE
 – 指定列印TABLES 敘述句中所有的變數組合

 – CUMCOL
 – 指定列印每個細格的累積百分比
TABLES options
• 禁止印出選擇項
 – NOFREQ / NOPERCENT
 – 不列印列聯表中細格的 次數 / 百分比

 – NOROW / NOCOL
 – 不列印列聯表中細格的 列 / 行 百分比

 – NOPRINT
 – 不列印任何表格,但列印出其他選項的統計量
DATA freq;
  INPUT x $ y $ @@;
CARDS;
ABBA.BAABAAABAAAABAABAAB
;
RUN;

PROC FREQ DATA=freq;
  TITLE '無TABLE敘述句';
RUN;

PROC FREQ DATA=freq;
  TABLES x*y / LIST MISSPRINT;
  TITLE '具MISSPRINT選項的二因子次數分配表';

PROC FREQ DATA=freq;
  TABLES x*y / LIST SPARSE;
  TITLE ‘具SPARSE選項的二因子次數分配表';
RUN;
GOTO label
11/01 SAS 快速複習
Result
Return
Result
PROC SORT
功用
• 根據指定的變數將資料依序排列

• 排序後才能在其他 PROC 使用 BY 敘述句
常用格式
PROC SORT options;
 BY variables;

PROC SORT options :
data=要排序的資料檔
out=排序後的新資料名稱
11/01 SAS 快速複習
Result
PROC SUMMARY
功用
• 幾乎等於 PROC MEANS

• 與 PROC MEANS的差異
 – PROC MEANS 會自動輸出結果
 – 無法算信賴區間
 – 無法做 t 檢定
END

More Related Content

PPTX
0927 sas實習課
PPTX
.NETからActive Directoryにアクセス
PPTX
やってはいけない空振りDelete
PPTX
UseNUMA做了什么?(2012-03-14)
PDF
Sub query_SQL
 
PDF
Mysql query optimization
PDF
WordPress as a CMS
PDF
OpenFOAM+のCo-simulation機能とFMUの試作
0927 sas實習課
.NETからActive Directoryにアクセス
やってはいけない空振りDelete
UseNUMA做了什么?(2012-03-14)
Sub query_SQL
 
Mysql query optimization
WordPress as a CMS
OpenFOAM+のCo-simulation機能とFMUの試作

What's hot (20)

PDF
Java8でRDBMS作ったよ
PPT
Office automation presentation for MS word
PDF
TeX原稿からEPUBを作りたい
PDF
Goでかんたんソースコードの静的解析
PDF
rhoCentralFoam in OpenFOAM
PDF
Turbulence Models in OpenFOAM
PDF
XunitとMoq 公開用
PDF
Node.js 進攻桌面開發
PPTX
Friend Function
PPTX
WayOfNoTrouble.pptx
PPT
Les 17 sched
PDF
A whirlwind tour of the LLVM optimizer
PPTX
Abstraction in java.pptx
PDF
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
PDF
UDA-Anexo configuración y uso de jackson
PDF
育児と介護の<ダブルケア>責任 ~東アジア国際比較から包摂的ケア政策を考える~ 相馬直子(横浜国立大学)・山下順子(ブリストル大学)
PDF
最近のストリーム処理事情振り返り
PDF
Python Deserialization Attacks
PDF
Elasticsearch in Netflix
PPTX
Java literals
Java8でRDBMS作ったよ
Office automation presentation for MS word
TeX原稿からEPUBを作りたい
Goでかんたんソースコードの静的解析
rhoCentralFoam in OpenFOAM
Turbulence Models in OpenFOAM
XunitとMoq 公開用
Node.js 進攻桌面開發
Friend Function
WayOfNoTrouble.pptx
Les 17 sched
A whirlwind tour of the LLVM optimizer
Abstraction in java.pptx
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
UDA-Anexo configuración y uso de jackson
育児と介護の<ダブルケア>責任 ~東アジア国際比較から包摂的ケア政策を考える~ 相馬直子(横浜国立大学)・山下順子(ブリストル大学)
最近のストリーム処理事情振り返り
Python Deserialization Attacks
Elasticsearch in Netflix
Java literals
Ad

Viewers also liked (12)

PPTX
PPTX
Open data
PPTX
1011 sas 實習課
PPTX
研究方法&工具
PPTX
10/04 SAS 實習課
PPTX
0313學習
PPTX
意識
PDF
2013 感性工學概述
PDF
服務設計Ncku2013
PPTX
0927 sas english version
PDF
20161017 R語言資料分析實務 (2)
PDF
初學R語言的60分鐘
Open data
1011 sas 實習課
研究方法&工具
10/04 SAS 實習課
0313學習
意識
2013 感性工學概述
服務設計Ncku2013
0927 sas english version
20161017 R語言資料分析實務 (2)
初學R語言的60分鐘
Ad

Similar to 11/01 SAS 快速複習 (17)

PPTX
PPT
第9章 transact sql程序设计
PDF
Mysql开发与优化
PPTX
20120322實習課
PPT
Oracle11g database sql语言基础
PPTX
Optimization technique for SAS
PPT
Oracle公司内部数据库培训资料
PPT
Printf和scanf的用法
PPT
第6章 数据查询
PPT
Optimzing mysql
PDF
Tdxgongshi
PPT
杰表.2008报表实例研究
PDF
MySQL查询优化浅析
PPT
第三章 栈和队列
PPTX
6, awk
第9章 transact sql程序设计
Mysql开发与优化
20120322實習課
Oracle11g database sql语言基础
Optimization technique for SAS
Oracle公司内部数据库培训资料
Printf和scanf的用法
第6章 数据查询
Optimzing mysql
Tdxgongshi
杰表.2008报表实例研究
MySQL查询优化浅析
第三章 栈和队列
6, awk

More from 景淳 許 (8)

PDF
2010淺談日本新產品開發之感心技術s
PPTX
0320記憶(2)
PPT
20130318 社群網路與人工智慧
PPT
Class 1 f_mri_intro
PPTX
0220課程介紹(1)
PPTX
0306大腦與行為
PPTX
0227心理學史簡介
PPTX
SAS 11/01
2010淺談日本新產品開發之感心技術s
0320記憶(2)
20130318 社群網路與人工智慧
Class 1 f_mri_intro
0220課程介紹(1)
0306大腦與行為
0227心理學史簡介
SAS 11/01

11/01 SAS 快速複習