R2 | #30天專注橙長計劃#~SAS~Day 18

4.4 用proc print打印你的數(shù)據(jù)

基本形式:PROC PRINT;

SAS默認打印最近使用的數(shù)據(jù)集疚顷,DATA=可以指定數(shù)據(jù)集:

PROC PRINT DATA=data-set;

SAS默認打印觀測值數(shù)襟诸,noobs選項可以取消。SAS默認打印時用變量標簽代替變量爽哎,用label可以改變?nèi)∠?/p>

PROC PRINT DATA=data-set NOOBS LABEL;

還有下面的選項:

BY variable-list; 前提是數(shù)據(jù)必須進行排序

ID variable-list;

SUM variable-list; 打印變量總數(shù)

VAR variable-list; 指定打印哪部分變量以及打印順序姐帚,默認打印全部渣窜。

例子 有學生賣糖果的數(shù)據(jù)铺根,Candy.dat,記錄學生名乔宿、所屬班級位迂、銷售日期、賣的糖果類型予颤、賣出的糖果數(shù)囤官。

下面的程序讀取數(shù)據(jù)、計算每個學生賺得的利潤(每買一塊賺1.25美元)蛤虐,并用proc sort按班級排序党饮。接著在proc print語句中加入by,以分班級打印驳庭,加入sum刑顺,計算每個班級總利潤:

輸出結(jié)果為:

4.5 用formats改變打印外觀

打印數(shù)據(jù)時,SAS會自動為你安排最好的格式饲常,小數(shù)點位數(shù)蹲堂、空格等。

當不需要默認格式時贝淤,可以用SAS formats改變打印的外觀柒竞。

對于字符串、數(shù)值播聪、日期變量朽基,SAS有很多格式布隔。比如可以用commaw.d格式打印有逗號的數(shù)字,用$w.格式控制打印的字符串數(shù)稼虎,用MMDDYYw.格式將日期(以1960.1.1為基點的數(shù)字)打印成12/03/2003這樣的格式衅檀。甚至可以將格式打印成十六進制、區(qū)位十進制霎俩、壓縮十進制等哀军。

SAS格式的普通形式為:

符號說明:$說明了是字符串、format是格式名打却、w是包括包括在小數(shù)點在內(nèi)的長度杉适、d是小數(shù)位數(shù)。句號非常重要柳击,它用來區(qū)分格式名和變量名淘衙。

Format語句 可以用format語句同時將格式和變量聯(lián)系起來,用format+變量名+格式名腻暮,比如想要將格式DOLLAR8.2和變量profit、loss聯(lián)系起來毯侦,把格式MMDDYY8.和格變量saledate聯(lián)系起來:

FORMAT Profit Loss DOLLAR8.2 SaleDate MMDDYY8.;

Format可以用在數(shù)據(jù)步和過程步中哭靖,前者將把格式永久儲存,后者只是臨時儲存侈离。

Put語句 當寫原始數(shù)據(jù)或者報告時试幽,也可以在put語句中使用formats,在每個變量后面加上格式:

PUT Profit DOLLAR8.2 Loss DOLLAR8.2 SaleDate MMDDYY8.;

例子 在上面的學生賣糖果的案例中卦碾,可以看到輸出的日期是SAS日期值铺坞,這里用format變換成日期格式,并且用DOLLAR6.2將利潤換成貨幣格式洲胖,

輸出結(jié)果為:

4.6 可供選擇的formats

下面是例子

4.7 使用proc format創(chuàng)建自己的格式

有時候變量值用數(shù)字代表實際的變量值济榨,比如1代表男性,2代表女性绿映,這種代碼在打印的時候不好解讀擒滑,可以用proc format使得打印出想要的值。

基本形式為:

Value語句中的name是格式的名字叉弦,如果格式是位字符串設(shè)計丐一,則必須以$開頭,長度不能超過32個字節(jié)(包括$)淹冰,不能以數(shù)字結(jié)尾库车,除了下劃線,不能包含其他任何特殊符號樱拴。且名字不能與已有的格式名沖突柠衍。Range是分配給等號右邊文本的變量值洋满,文本可以達到32767個字節(jié),有的過程只會打印前面8或16個字節(jié)拧略。下面是一個例子:

變量值是字符串要加上引號芦岂,range不止一個值要用逗號隔開,連續(xù)的range要用-垫蛆,關(guān)鍵字low和high可以用來指代變量中最小和最大的的非缺失值禽最。也可以用<來排除或指代某些范圍,other可以給任何沒有列在value語句中的變量分配格式袱饭。

例子 有一份關(guān)于汽車公司客戶的調(diào)查信息川无。包括客戶年齡、性別(1為男性虑乖,2為女性)懦趋、每年收入、偏愛的汽車顏色(yellow,gray,blue,or white):

下面的代碼讀取數(shù)據(jù)疹味,并使用format過程為顏色仅叫、性別和汽車創(chuàng)建格式,并在打印數(shù)據(jù)時用format為變量指定這些輸出格式:

輸出結(jié)果為:

4.8 定制一個簡單的報告

數(shù)據(jù)步可以幫助在報告中完成一些個性的需求糙捺,比如一頁打印一個觀測值等诫咱。

用file語句和put語句 ,基本形式為:

FILE‘file-specification’PRINT;

如input洪灯,put語句也有l(wèi)ist坎缭,column,formatted方式签钩,但因為SAS已經(jīng)知道變量類型掏呼,因此不用符號$。且如果使用list 铅檩,SAS會自動在兩個變量之間加上空格憎夷;使用column或者formatted,SAS將會把變量放在任何你指定的地方昧旨。使用指示器@n指定移動到第n列岭接,+n指定移動n列,/跳動到下一行臼予,#n跳動到第n行鸣戴。用@hold住當前行。

例子 再一次使用學生賣糖果的案例粘拾,Candy.dat窄锅,記錄學生名、所屬班級、銷售日期入偷、賣的糖果類型追驴、賣出的糖果數(shù)。

老師想看每位學生的銷售情況疏之,故要每頁分別打印一位學生的情況殿雪,代碼如下:

Data null是告訴SAS不要寫數(shù)據(jù)集名,以便使得程序更快锋爪。File語句創(chuàng)建了一個輸出文件丙曙,空標題title語句告訴SAS去除所有的自動標題。

第一個put語句以一個指示器開頭其骄,@5亏镰,告訴SAS移動到第5列,接著打印出“candy sales report for”拯爽,后面是姓名name索抓。變量name、class和quantity都是以list方式打印毯炮,而profit

是使用formatted方式打印逼肯,并給定格式dollar6.2。一個斜杠是指跳到下一行桃煎,兩個斜杠是跳到下兩行汉矿。最后,語句put_age_是在每個學生報告下面插上頁碼备禀,程序運行后,日志說明如下:

前三頁報告如下:

4.9 使用proc means描述數(shù)據(jù)

可以用proc mens查看一些簡單的統(tǒng)計量奈揍,Means過程開始于關(guān)鍵詞proc means曲尸,后面接需要打印的統(tǒng)計量,基本形式:

PROC MEANS options;

如果不加選項男翰,則默認打印出非缺失值個數(shù)另患、均值、標準差蛾绎、以及最大最小值昆箕,下面是用選項可以查看的統(tǒng)計量:

如果沒有其他語句,proc means語句會給你數(shù)據(jù)集中所有觀測值和所有數(shù)值變量的統(tǒng)計量租冠,這里是一些可以用到的語句:

? BY variable-list; 分變量單獨分析鹏倘,但數(shù)據(jù)必須先按照variable-list的變量順序排序(proc sort)。

? CLASS variable-list; 也是分變量單獨分析顽爹,看起來會更集中一些纤泵,且不需要排序。

? VAR variable-list; 指定分析中使用哪種數(shù)值變量镜粤,默認則使用所有的數(shù)值變量捏题。

例子 有一個花朵銷售的數(shù)據(jù)玻褪,F(xiàn)lowers.dat,包括顧客ID公荧,銷售日期带射,petunias,snapdragons循狰,

marigolds三種花的銷售量:

下面的代碼讀取數(shù)據(jù)窟社,計算新變量銷售月份,month晤揣,并使用proc sort按照月份排序桥爽,并使用proc means的by語句來按照月份描述數(shù)據(jù):

輸出結(jié)果為:

4.10 將描述性統(tǒng)計寫入SAS數(shù)據(jù)集中

有兩種方法可以在SAS數(shù)據(jù)集中儲存描述性統(tǒng)計量,Output Delivery System(ODS)昧识,或者output語句钠四。前者在5.3,后者的基本形式為:

OUTPUT OUT=data-set output-statistic-list;

Data-set是要儲存結(jié)果的數(shù)據(jù)集名跪楞,output-statistic-list則界定需要保存哪些統(tǒng)計量和名稱缀去,可能的形式為:

statistic(variable-list)=name-list

statistic可能是proc means語句中的任何一種統(tǒng)計量(sum,n甸祭,mean…)缕碎,variable-list則界定VAR語句中哪些變量需要輸出,name-list則定義統(tǒng)計量的新名字池户。比如咏雌,proc means語句產(chǎn)生了一個數(shù)據(jù)集ZOOSUM,包括一個觀測值和變量lionweight(the mean of the lions’weights)校焦,BearWeight(the mean of the bears’weights)赊抖。

Noprint是告訴SAS不需要產(chǎn)生任何打印結(jié)果,因為已經(jīng)將結(jié)果存入數(shù)據(jù)集中寨典。

例子 仍然是花朵銷售的數(shù)據(jù)

要描述數(shù)據(jù)氛雪,每個顧客只有一個觀測值,包括SUM和MEAN耸成,并且將結(jié)果儲存到數(shù)據(jù)集中以便日后分析报亩。下面的程序讀取程序,按照CustomerID排序井氢,使用means過程弦追,結(jié)果存在totals數(shù)據(jù)集中。以原始名Petunia,SnapDragon,and Marigold給出sum花竞,以新變量名MeanPetunia,MeanSnapDragon,and MeanMarigold給出mean

結(jié)果如下:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末骗卜,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌寇仓,老刑警劉巖举户,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異遍烦,居然都是意外死亡俭嘁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門服猪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來供填,“玉大人,你說我怎么就攤上這事罢猪〗” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵膳帕,是天一觀的道長粘捎。 經(jīng)常有香客問我,道長危彩,這世上最難降的妖魔是什么攒磨? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮汤徽,結(jié)果婚禮上娩缰,老公的妹妹穿的比我還像新娘。我一直安慰自己谒府,他們只是感情好拼坎,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著完疫,像睡著了一般泰鸡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上趋惨,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音惦蚊,去河邊找鬼器虾。 笑死,一個胖子當著我的面吹牛蹦锋,可吹牛的內(nèi)容都是我干的兆沙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼莉掂,長吁一口氣:“原來是場噩夢啊……” “哼葛圃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤库正,失蹤者是張志新(化名)和其女友劉穎曲楚,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體褥符,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡龙誊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了喷楣。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片趟大。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖铣焊,靈堂內(nèi)的尸體忽然破棺而出逊朽,到底是詐尸還是另有隱情,我是刑警寧澤曲伊,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布叽讳,位于F島的核電站,受9級特大地震影響熊昌,放射性物質(zhì)發(fā)生泄漏绽榛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一婿屹、第九天 我趴在偏房一處隱蔽的房頂上張望灭美。 院中可真熱鬧,春花似錦昂利、人聲如沸届腐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽犁苏。三九已至,卻和暖如春扩所,著一層夾襖步出監(jiān)牢的瞬間围详,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工祖屏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留助赞,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓袁勺,卻偏偏與公主長得像雹食,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子期丰,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容