4.17 用proc report產(chǎn)生一個簡單的輸出
Report包含print、means和tabulate懒鉴、sort的所有功能诡挂,可以用一本書來介紹,基本形式為:
PROC REPORT NOWINDOWS;
COLUMN variable-list;
Column語句類似于proc print的var語句,告訴SAS哪些變量該包括并以何種順序璃俗,如果遺漏語句column奴璃,SAS默認(rèn)在數(shù)據(jù)集中包括所有變量,如果遺漏選項nowINDOWS旧找,SAS默認(rèn)啟用交互report窗口溺健。為使數(shù)據(jù)和頂部能很好的區(qū)分開來,可以使用headline和headskip:
PROC REPORT NOWINDOWS HEADLINE HEADSKIP;
Headline在頂部下面拉了一條線钮蛛,headskip在頂部下面留了一段空白鞭缭。
數(shù)值變量VS字符串變量 從proc report得到的報告類型,部分依據(jù)于使用的數(shù)值類型魏颓。只要報告中起碼有一個字符串變量岭辣,默認(rèn)的報告就是每個觀測值一行。但如果報告全是數(shù)值變量甸饱,默認(rèn)proc report將會加總這些變量沦童,即使是日期變量也會被加總。
例子 有一份關(guān)于美國國家公園(national parks)和國家紀(jì)念碑(monuments)的數(shù)據(jù)叹话,Parks.dat偷遗,變量包括名字、類型(NP for national park or NM for national monument)驼壶,地區(qū)(East or West)氏豌,博物館的數(shù)量,野營地的數(shù)量:
下面的代碼形成了兩份報告热凹,第一份沒有column語句泵喘,SAS使用所有變量,第二份使用column語句般妙,選擇部分變量:
第一份報告與proc print相似纪铺,第二份報告,由于只選擇museum變量和camping兩個數(shù)值型變量碟渺,默認(rèn)直接顯示加總情況:
4.18 在proc report中使用define語句
Define用來為單個變量指定一些選項鲜锚,基本形式為:
DEFINE variable/options’column-header’;
Usage選項 這個選項告訴SAS如何使用這個變量,可能的usage選項包括:
Across:為變量的每一個變量值都創(chuàng)建一個列
Analysis:為變量創(chuàng)建統(tǒng)計量苫拍,數(shù)值變量默認(rèn)有這個usage選項烹棉,且統(tǒng)計量默認(rèn)為sum。
Display:為數(shù)據(jù)集中的每一個觀測值都創(chuàng)建一行怯疤,對于字符串變量浆洗,這個選項是默認(rèn)的。
Group:為每個變量的變量值都創(chuàng)建一行集峦。
Order:為每個觀測值都創(chuàng)建一行伏社,且行值的排列是是按照指定的變量來順序抠刺。
改變列頂部 proc report中幾種方法可以改變列頂部,4.1中的label語句摘昌,或者用define語句指定列頂部速妖,下面的代碼使得SAS的report按照age排序,并且以“Age at Admission”作為列頂部:
DEFINE Age / ORDER 'Age at/Admission';
缺失數(shù)據(jù) 默認(rèn)在order聪黎,group罕容,和across variables中不考慮缺失值,用missing選項可以改變這種默認(rèn):
PROC REPORT NOWINDOWS MISSING;
例子 仍然是關(guān)于國家公園和紀(jì)念碑的數(shù)據(jù),
下面的代碼包含兩個define語句,第一個用order選項來定義region绕沈,第二個為變量camping定義列頂部赢织。Camping是一個數(shù)值變量生闲,默認(rèn)有analysis選項。Missing選項也出現(xiàn)在了proc語句中,因此缺失值也會被考慮在報告中:
輸出結(jié)果為:
Region有三個變量值,第一個是missing缺失值生真。
4.19 用proc report創(chuàng)建簡易報告
Group創(chuàng)建簡易行,across創(chuàng)建簡易列捺宗。
Group 變量 下面的代碼告訴SAS創(chuàng)建一個顯示每個部門工資總和柱蟀、獎金總和(數(shù)值變量將默認(rèn)被加總)的報告:
Across變量 corss變量,也需要define語句蚜厉,不同的是产弹,SAS默認(rèn)不是對變量值求和,而是計數(shù)弯囊。如果要加總,則需要再across變量和analysis變量之間加逗號胶果,告訴SAS哪個變量要加總匾嘱,下面的代碼告訴SAS用列來顯示出每個部門工資和獎金的總和:
例子 仍然是國家公園和紀(jì)念碑的例子,
下面的代碼包含兩個proc report早抠,第一個中霎烙,region和type都被定義成group變量,第二個中蕊连,region仍然是個group變量悬垃,但type是across變量。注意兩個column語句基本一樣甘苍,除了第二個中增加了標(biāo)點(to cross the across variable with the analysis variables.)尝蠕。
輸出結(jié)果為