分析人員於資料分析時,常常需計算數值性變數(例:銷售金額)之百分位值(Percentile)。有時更需進一步,依某一特定分類變數(例:產品別)分別計算。於分析過程中,分析人員更希望能有效的,運用該特定分類變數之某一百分位值,分別篩選該特定分類變數不同組別之極端資料。本文提供以下SAS依某一特定分類變數,掌控百分位值及擷取極端資料之範例。 範例 一 : <<依某一特定分類變數,數值性變數百分位之儲存>>
輸出檔案 WORK.PERCENTILE 內容如下:
程式說明如下 : 1. 運用PROC UNIVARIATE,計算ACTUAL變數(VAR ACTUAL)之各百分位值。 2. 以產品別為分組( CLASS PRODUCT ),分別計算。 3. 所選取之百分位之值為2.5、5、95及97.5 等四項。 4. 將計算之百分位值,儲存於WORK.PERCENTILE 之SAS輸出檔案。 5. 儲存之變數名稱分別為PCT_2_5、PCT_5、PCT_95及PCT_97_5。 6. 產品別為BED時,變數ACTUAL的2.5百分位之數值為 22,5百分位之數值為 49,95百分位之數值為 923,97.5百分位之數值為 956。 7. 產品別為CHAIR時,變數ACTUAL的2.5百分位之數值為 36,5百分位之數值為 79,95百分位之數值為 953,97.5百分位之數值為 977。
範例 二 : <<依某一特定分類變數,篩選極端之資料>>
程式說明如下 : 1. 先將SAS檔案 SASHELP.PRDSALE,以產品別為分組排序,產生WORK.PRDSALE之SAS輸出檔案。
2. 以產品別為分組排序,讀取SAS WORK.PRDSALE檔案。此時SAS 工作區(PDV)中,將產生2內建變數(FIRST.PRODUCT 及LAST.PRODUCT)
3. 運用FIRST.PRODUCT之內建變數,於某一特定產品別(例:BED)之第一筆時,該特定產品別之各百分位值(2.5、5、95及97.5等) ,由另一SAS檔案 WORK.PERCENTILE中讀入SAS 工作區(PDV)中。這些值會一直存於工作區(PDV)內,直至另一特定產品別(例:CHAIR)之第一筆被讀入時,各百分位值才會更新。
4. 讀取SAS檔案 WORK.PRDSALE每一筆資料時,ACTUAL之值小於某一特定產品別之變數PCT_2_5(2.5百分位) 之該筆資料,儲存於WORK.LOW之SAS檔案。
5. 讀取SAS檔案 SASHELP.PRDSALE每一筆資料時,ACTUAL之值大於某一特定產品別之變數PCT_97_5(97.5百分位) 之該筆資料,儲存於WORK.LOW之SAS檔案。
6. 其餘資料不儲存。
Tags