【正文】
pointercontrol variable : | ~ format. | 。 x1=。 run。 例 應(yīng)用舉例。 /*變量 name有空格 */ put name 20 (bldg room) ($1., 3.)。 LOG窗口輸出結(jié)果: 53 data a。 /*從第 20列開始輸出第二、三個(gè)變量 */ 56 cards。 上面程序也可以寫成: data a。39。 run。 $10. bldg $ room 。 65 cards。 BY語句 數(shù)據(jù)步中, BY語句規(guī)定分組變量。 對(duì)于一個(gè) BY組的第一個(gè)觀測(cè)值 , 1, 其余取 0. 對(duì)于一個(gè) BY組的最后一個(gè)觀測(cè)值 , 1, 其余取 0. 這些變量不含在新產(chǎn)生的數(shù)據(jù)集中。 month=month(date)。 data b。 /*保留每月最后一個(gè)觀測(cè)值 */ run。 選項(xiàng)說明 沒有變?cè)? 讀最新創(chuàng)建數(shù)據(jù)集 DataSetName 規(guī)定要組合的數(shù)據(jù)集 DataSetOptions 規(guī)定對(duì)數(shù)據(jù)集的操作 , 常用選項(xiàng) keep=, Drop=,rename=,where=和 in=。此變量不含在新的數(shù)據(jù)集中 應(yīng)用舉例 例 選項(xiàng)說明若干舉例。 data b (keep=obs date clpr)。 output。 run。 in1=one。 do obsnum=1 to last by 20。 stop。 set nobs=nobs。 set nobs=nobs。 set end=obs_last。 set End=lastobs。last observation39。 set (keep=date clpr)。 run。 run。 set 。 where sex=’M’。 if sex=’M’ then output。 if sex^=’M’ then delete。 set 。 set 。 語句格式 MERGE datasetname1 (datasetoptions) datasetname2 ( datasetoptions) …data setnamen(datasetoptions ) END=variablename 。 例中,一對(duì)一合并時(shí),不需要 BY語句。 run。 Input stkcd$6.。 Merge Resdat. Iissulst stkcd(in=id)。 FILE 語句一般要與 PUT語 句配合使用 。 FILESPECIFICATION選項(xiàng)說明: e x t e r n a l f i l e 規(guī)定一個(gè)外部文件的完整路徑和文件名F i l e r e f 文件標(biāo)識(shí)名L o g 規(guī)定輸出到 L O G 窗口P r i n t 規(guī)定輸出到 O U T P U T 窗口 OPTIONS選項(xiàng)說明(部分): 選項(xiàng) 說明 DELIMITER= 39。 DROPOVER 規(guī)定當(dāng)輸出數(shù)據(jù)行的長(zhǎng)度超過規(guī)定值時(shí),忽略超過的部分。 FILENAME=variable 定義一個(gè)字符變量,其值為 PUT語句打開的文件名。 /* 輸出到 OUTPUT窗口, put語句打開的文件名為 print */ put 39。 數(shù)據(jù)集 a name 1 PRINT data a。 /* 輸出到文件 39。 /* 文件 d:\ : hello*/ fname=xxx。 set 。,39。 。 例中程序產(chǎn)生股票宏文本文檔。 FILESPECIFICATION選項(xiàng)說明: EXTERNAL FILE和 FILEREF選項(xiàng)類似 FILE語句的相應(yīng)選項(xiàng)。 OPTIONS選項(xiàng)說明 選項(xiàng) 說明 DSD 規(guī)定若一個(gè)數(shù)據(jù)由引號(hào)括起,則 SAS認(rèn)為其包含的逗號(hào)是字符數(shù)據(jù)。 END=variable 定義一個(gè)變量標(biāo)記是否已經(jīng)到達(dá)輸入文件的結(jié)尾。,39。 例中,要輸入的數(shù)據(jù)用逗號(hào)分隔,創(chuàng)建 SAS數(shù)據(jù)集時(shí)用選項(xiàng) DELIMITER=’,’。 input test1 test2 test3。 test1 test2 test3 1 91 87 95 2 97 92 1 上例加上 DSD選項(xiàng),將兩個(gè)相鄰分隔符之間的數(shù)作為缺失值處理 data scores。 input test1 test2 test3。 test1 test2 test3 1 91 87 95 2 97 . 92 2 . 1 1 應(yīng)用舉例 例 應(yīng)用 INFILE語句導(dǎo)入外部數(shù)據(jù)文件的標(biāo)準(zhǔn)程序 data delinfo(label=39。 informat stkcd $6. lstknm $12. lstdt yymmdd10. delistdt yymmdd10. exchflg $1. stktype $1. 。最新股票名稱 |latest stock name39。退市日期 |delist date39。股票類型 |stock type39。0939。 例中 ,’ 09’x是 TAB的十六進(jìn)制表示 , 這里規(guī)定 delimiter=’09’x是不能去掉的 , 去掉的話就出錯(cuò)了。產(chǎn)生匯總統(tǒng)計(jì)表; 更新 PROC SQL表中的數(shù)據(jù)值; PROC SQL表包括行和列。 視圖 (Views) PROC SQL視圖并不儲(chǔ)存數(shù)據(jù),而只是存儲(chǔ)了一個(gè)SELECT語句或者查詢。因此,不用在每個(gè) SQL語句中重復(fù) PROC SQL。 ? RUN語句在 PROC SQL語句中不起作用 。 Data PingPong。 如果用 PROC SQL中的連接語句,就很容易得到滿足要求的結(jié)果。 create table PingPang as select , China, USA from a inner join b on =。 相關(guān)過程 相關(guān)過程( CORR) 用于計(jì)算變量間的相關(guān)系數(shù)。 PARTIAL variable(s)。 語句說明: BY 分別對(duì)每一 BY 組計(jì)算相關(guān)系數(shù)F R E Q 規(guī)定一個(gè)數(shù)值變量 , 其值為每一觀測(cè)值出現(xiàn)的頻數(shù)P A R T I A L 給出 P e a r s on , S pe a r m a n 或 K e nd a l l 偏相關(guān)系數(shù)的變量名VAR 給出要計(jì)算相關(guān)系數(shù)矩陣的變量和順序W E I G H T 計(jì)算加權(quán)的乘積矩相關(guān)系數(shù)時(shí)給出權(quán)數(shù)變量名字W I T H 計(jì)算變量組合之間的相關(guān)系數(shù)PROC CORR語句 PROC CORR option(s)。 WITH語句 WITH variablelist。 計(jì)算 Pearson偏相關(guān), Spearman偏秩序相關(guān),或 Kendall偏 taub。 該語句用于 Pearson( 皮爾遜 ) 相關(guān) 。若 FREQ變量值 1或缺失,相應(yīng)的觀測(cè)不參加計(jì)算統(tǒng)計(jì)量;若這個(gè)值不是正整數(shù),取整數(shù)部分。 應(yīng)用舉例 例 計(jì)算 Pearson相關(guān)系數(shù)及其它關(guān)聯(lián)測(cè)度 。Measures of Association for39。 例 計(jì)算并輸出相關(guān)指標(biāo) 。Spearman 的 rho, Kendall的 taub, Pearson和 Hoeffding相關(guān) 39。 partial clpr。 proc corr data= cov alpha outp=corrout。 run。 run。 /*數(shù)據(jù)集準(zhǔn)備 */ merge (keep=date oppr clpr) (keep=date oppr clpr rename=(oppr=oppr_sz clpr=clpr_sz) )。 var oppr_sz clpr_sz。 run。 run。 OUTPUT OUT= SASdatasetoutputstatisticlist。 BY variablelist。: ? 1規(guī)定垂直線字符; ? 2規(guī)定水平線字符; ? 7規(guī)定水平與垂直交叉線字符。 39。 value $sfmt 39。 39。 proc freq data= order=formatted。 例中 , 計(jì)算數(shù)據(jù)集 SEX的分布 , 并以格式化值的順序排列 。若這個(gè)值 0或缺失,假定該值為 0。 OUTPUT語句 OUTPUT OUT= SASdatasetoutputstatisticlist。當(dāng)規(guī)定多個(gè) TABLES語句時(shí), OUTPUT語句創(chuàng)建的數(shù)據(jù)集內(nèi)容對(duì)應(yīng)于最后那個(gè) TABLES語句,當(dāng)一個(gè) TABLES語句中規(guī)定多個(gè)表時(shí), OUTPUT創(chuàng)建的數(shù)據(jù)集內(nèi)容對(duì)應(yīng)于最后那個(gè)表。 do I=1 to 1000。 end。 run。 run。 ? 例中 , 產(chǎn)生區(qū)間 [0, 1]上均勻分布的隨機(jī)數(shù) 1000個(gè) , 分別將區(qū)間[0, 1]均分成 3和 4個(gè)小區(qū)間 , 并把產(chǎn)生的隨機(jī)數(shù)按所屬區(qū)間轉(zhuǎn)換為整數(shù) 。 by region。 tables hair/nocum testp=(30 12 30 25 3)。 run。 weight count。ChiSquare Tests for 3 by 5 Table of Eye and Hair Color39。ChiSquare Statistics for Eye and Hair Color39。