使用 format 語句對資料進行分組
你可以在過程中應用格式,例如更改 proc summary
或 proc freq
中的分組。
分組 SAS 日期
data example2 ;
do Date = '01JUN2016'dt to '31AUG2016'dt ;
Days = 1 ;
output ;
end ;
run ;
/* Summarise by year & month */
proc summary data=example2 nway ;
class Date ;
var Days ;
output out=example2_sum (drop=_TYPE_ _FREQ_) sum= ;
format Date yymmn6. ; /* e.g. 201606 */
run ;
日期 | 天 |
---|---|
201606 |
三十 |
201607 |
31 |
201608 |
31 |
/* Summarise by month & year */
proc summary data=example2 nway ;
class Date ;
var Days ;
output out=example2_sum2 (drop=_TYPE_ _FREQ_) sum= ;
format Date monyy7. ; /* e.g. JUN2016 */
run ;
日期 | 天 |
---|---|
JUN2016 |
三十 |
JUL2016 |
31 |
AUG2016 |
31 |
使用格式的好處是保留了自然排序順序。
以 sashelp.class
為例,假設你要比較每個名字第一個字母的頻率。你可以使用 substr()
函式查詢第一個字母,並在新變數上執行 proc freq
。或者,你可以將 $1.
格式應用於 Name
變數:
proc freq data=sashelp.class ;
table Name ;
format Name $1. ;
run ;
名稱 | 計數 |
---|---|
一個 | 7 |
B |
4 |
C |
2 |
等等 |