




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Range極差mean(1,2,3)平均std原則差
/**白動(dòng)導(dǎo)入**/
Libnamecwb
procimport
datafile="E:\WORK\雜七雜八\SAS數(shù)據(jù)庫(kù)\分期樂(lè)入池?cái)?shù)據(jù)'明細(xì)數(shù)據(jù)(風(fēng)險(xiǎn)指標(biāo)監(jiān)控
表&實(shí)際還款表)'荷包一期一風(fēng)險(xiǎn)指標(biāo)監(jiān)控表詳細(xì)總表&tcdaydate..xls”
out=work.riskOOl
dbms=excelreplace;
sheet=,風(fēng)險(xiǎn)指標(biāo)監(jiān)控表總表,;
getnames=yes;導(dǎo)入源文獻(xiàn)字段名作為SAS數(shù)據(jù)集的字段名
自動(dòng)導(dǎo)入
%macrochouc(today_date);
datafile="C:'Users'抽查\一債權(quán)基礎(chǔ)池報(bào)表&today_date..xls"
out=work.chouc01
dbms=excelreplace;
sheet="債權(quán)基礎(chǔ)池”;
run;
%mend;
%chouc(0116);
導(dǎo)出:
procexportdata=sashelp.cars
outfile=
1/folders/myfolders/sasuser.v94/TutorialsPoint/car_data.csv'
dbms=csv;
run;
/4*先排序*/
procsortdata=new_cy2;
by_COL1;
run;
/***標(biāo)題**打印*/
procprint;
title,員工薪水,
RUN;
procprintdata=cwb.result0208label;
idpackage;
varoverdue_principal_zaoverdue_principal_fql;
labeloverdue_princ二pal_za="違法停車"overdue_principal_fql="林行";
run;
procprintdata=cwb.result0208;
whereprincipal_sell>0000;
run;
/*登記表格*/
1\
proctabulatedata=work.risk005b;
classCOL22;分類變量
var_C0L5;分析變量
table_COL22_C0L5;列維闡明/選項(xiàng)(mathChinese)*(meanvar)反應(yīng)男女生數(shù)
學(xué)語(yǔ)文成績(jī)的平均值方差
run;
2\
proctabulatedata=work.risk005b;
class_COL22;
var_COL5_COL4;
table_COL22,(_COL4_COL5)*(meanmaxmin);
run;
資產(chǎn)包資產(chǎn)包
貸款即限剩余期限貨款即限刷金即限
McjinMaxMinMoanMaxMin
MeanMaxMinWeanMaxMin
五級(jí)分類
五級(jí)分類
次級(jí)集120012001200110011001100
次級(jí)類120012001200110011001100
關(guān)注類1458240060011.592300200
關(guān)注類1458240060011592300200
正常類15.1124006006.252000000
正常類
131124006006252000000全部151124006006282300000
table_COL22all,(_COL4_COL5)(meanmaxnin);力口個(gè)ALL,有求和,圖2.
也可寫為例如table(_COL22all)*(_COL4)*(mean)
資產(chǎn)包
五級(jí)分類全部
次級(jí)類關(guān)注類正常類
宜蕊期限貸款期限袋效期限賃款期限
MeanMeanMeanMean
12.00145815.1115.11
也可加標(biāo)簽table(sexall),(mathChinese)*(meanstd);
keylabelmean=,平均值,std='原貝差,總計(jì),
labelsex=,性別,math=,數(shù)學(xué),chinese=1語(yǔ)文,
run;
/**復(fù)制*強(qiáng)制追加*把B加到A中*而SET是要新建一種的*/
procappendbase=chouc.choucOldata=chouc.chouc02force;/**force強(qiáng)制
*/
run;
/**復(fù)制*強(qiáng)制追加*把B加到A中*而SET是要新建一種的*/
procsortdata=chouc.choucOldupout=chouc.bbnoduprecs;/**noduprecs-
行完全相似的反復(fù)記錄*/
bydescendinq_COLO;
run;
/**sql*聯(lián)合查詢**/
Procsql;
Select*froma
Union/*多種查詢成果合并成一種成果,并去掉反復(fù)**/
Intersect/*查詢公共部分?jǐn)?shù)據(jù)*/
Except/*把公共部分去掉的數(shù)據(jù)*/
Outerunion/*對(duì)多種查詢成果橫向合并*/
Select*fromb;
Quit;
/**去**反復(fù)**措施之一***/
只顯示name
selectnamefromtbgroupbynamehavingcount(*)>1
顯示所有數(shù)據(jù)
select*fromnamein(selectnamefromtbgroupbynamehavingcount(*)>1)
*2、輸出反復(fù)的觀測(cè)值,使用nodupkey選項(xiàng),注意:使用該選項(xiàng)后直接將原數(shù)據(jù)集中的反復(fù)值
刪除。注意dupout和out的區(qū)別;
procsortdata=clasdatadupout=dups3nodupkey;
bynameclass;
run;
*輸出不反復(fù)的觀測(cè)值。;
procsortdata=clasdataout=nodups4nodupkey;
bynameclass;
run;
*3、去掉反復(fù)的觀測(cè)值使月nodup選項(xiàng)。;
procsortdata=Clasdataout=NODUPS5nodup;
bynameclass;
run;/****刪除月3日的數(shù)據(jù)**/
datacwb.result;
setcwb.result;
ifaccount_time="03janHdthendelete;
run;
SQL去反復(fù):
SELECTDISTINCT”欄位名”
FROM”表格名”
舉例來(lái)說(shuō),若要在如下的表格,Store_Information,找出所有不一樣的店名時(shí),
StoreInformation^^
storenameSalesDate
1$1500Jan-05-1999
2$250Jan-07-1999
1$300Jan-08-1999
3$700Jan-08-1999
我就維入,distinct
SELECTDISTINCTstore_nameFROMStore_Information
結(jié)果:
1
2
3
/★★★★★★?-Q殳彳、★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★/
procfreqdata=asd;
tables..變量
run;
/**描述記錄***例如*/
procsummarydata=work.risk004meanmaxmincvvar;
class_COL4;
var_COL4;
outputout=aamean=amax=bmin=ccv=dvar=e;
run;
procprintdata=v/ork.aa;
run;
procmeansdata=cwb.0verdue0102;
varveight;/**變量占比,即在總體中的相對(duì)重要程度**/
freq_COL4;/**按照_COL4求觀測(cè)值頻度**/
class_81222;/**按_。"22分類**/
run;
/*MEANS、SUMMARY*功能之外*還可以如例繪制PLOTS莖葉圖、盒形圖、正態(tài)概率圖
/NORMAL正態(tài)分布**/
procunivariatedata=work.aaplots;
var_col4;
run;
/**取第2行到第10行的數(shù)據(jù)**/
Dataaa;
Setaaa(firstobs=2obs=10)
/**取前2行數(shù)據(jù)**/
Dataaa;
Setaaa(obs=2);
Run;
/l*篩選例***********,*********************m******************,*/
dataa(where=(_COL10>1500));
setcy;
where_COL21>18and_COL18>1500;
whereCOL29="上班人群”;
run;
/2*有7000個(gè)人,隨機(jī)抽樣25個(gè)*************************
PROCSURVEYSELECT
DATA=a
out=new_cy2
method=srs/**固定格式*/
n=25
seed=7000;
RUN;
/**讀取***幾條記錄***/
PROCSQLNUMBEROUTOBS=3;
SELECT*FROMWORK.A;
QUIT;
/3,有1000個(gè)人,按性別(sex)分為兩層,每層按0.1的比例抽樣*
procsurveyselect
data=c
out=d
method=srs
samprate=0,1
seed=25070419;
stratasex;
run;
procprintdata=d;
run;
/**分層抽取***/
procsurveyselect/,*隨機(jī)**/
data=Work.choucOl
out=chouc.choucOl
method=srs
sampsize=(5,5,15)/**抽取數(shù)據(jù)量*次序與分層例相似*/
noprint;
strata_col22;/**分層**/
run;
/********求平均值********************/
procsql;
select_COL3,mean(loan_amt,repay_amount)fromfql;
quit;
/**N,10分位等
procmeansdata=vzj.yrs_12NPlplOp25p50p75p90p99minmaxmean
summaxdec=2;/***規(guī)定最多輸出2位小數(shù)**/
varscrlimepp_amtR_prineve_prinageFEE_RATEepp_numR_num;
run;
/**更新**已知數(shù)據(jù)集A和B,用A做為主數(shù)據(jù)集,生成新數(shù)據(jù)AB**/
dataab;
updateab;
byid;/**根據(jù)卡號(hào)更新數(shù)據(jù)*/
run;
/★★★★★★模型★★★★reg0歸分析★★★★★/
procregdata=cwb.0verdue0102;
model_COL21=_COL22;
run;記錄關(guān)鍵字
(((((1.means過(guò)程的一般格式
procmeans選項(xiàng)列表;
by變量名稱(分組變量);
class變量名稱(分組變量);
freq變量名稱(數(shù)值變量,用以表對(duì)應(yīng)記錄出現(xiàn)的頻數(shù))
weight變量名稱(數(shù)值變量,用以表達(dá)對(duì)應(yīng)記錄的權(quán)重系數(shù))
var變量名稱(待分析的數(shù)值變量);
run:
univariate過(guò)程的一般格式
procunivariate選項(xiàng)列表:
by變量名稱(分組變量);
class變址名稱:分組變量):
freq變量名稱(數(shù)值變量,用以表達(dá)對(duì)應(yīng)記錄出現(xiàn)的須數(shù))
weight變量名稱(數(shù)值變量,用以表達(dá)對(duì)應(yīng)記錄的權(quán)重系數(shù),占比,)
histogram變量名稱/選項(xiàng)列表
output<o(jì)ut=數(shù)據(jù)集名》〈記錄量關(guān)鍵字=自定義變量名)
pctlpts=<百分位數(shù)…〉〈指定需要的百分位數(shù))
pctlpre=<新變量名列〉〈指定所需百分位數(shù)時(shí)應(yīng)的輸出變量名》
var變量名稱(待分析的數(shù)值變量);
run:
SAS中可以計(jì)算的描述性記錄量關(guān)鍵字及其含義
關(guān)鍵字所代表的含義
n有效數(shù)據(jù)記錄數(shù)
nmiss缺失數(shù)據(jù)記錄數(shù)
mean均數(shù)
std原則差
stderr原則誤
var力差
median中位數(shù)
mode眾數(shù)
cv變異系數(shù)
max最大值
min最小值
range全距
sum總計(jì)
sumwgt加權(quán)值總計(jì)
css校正的離均差平方和
USS未校正的離均差平方和
elm可信限(上下界值)
Iclm可信限下側(cè)界值
uclm可信限上側(cè)界值
skew(skewness)偏度
kurt(kurtosis)峰度
t分布位置假設(shè)檢查之t記錄量
probt上述t記錄量對(duì)應(yīng)的概率值
ql第一四分位數(shù)
q3第三四分位數(shù)
qrange四分位數(shù)間距
Pl第一百分位數(shù)
p5第五百分位數(shù)
plO第十百分位數(shù)
p90第九十百分位數(shù)
p95第九十五百分位數(shù)
p99第九十九百分位數(shù)
)))))))
/**把分析成果以PDF顯示*/
odspdffile='*C:\Users\chengwubin\Desktop\_ppdf.pdf";/*可以在指定途徑
或系統(tǒng)顯示*/
procmeansdata=vzork.aa;
var_C0L4_C0L5;
outputout=work.bbbbb;
run;
procprintdata=work.bbbbb;
run;
odspdfclose;
/**把分析成果以HTML顯示*/
ODSHTMLFILE="C:\Users\chengwubin\Desktop\FX.HTML"
CONTENTS="FXCON.HTML"/*固定格式*文獻(xiàn)體存諸*/
FRAME="FXFR.HTML”/*固定格式*合并表內(nèi)容*/
PAGE="FXPA.HTML,/*固定格式*指定分析存儲(chǔ)至lJHTML*/
PROCMEANSDATA=WORK.AA;
VAR_COL4;
RUN;
ODSHTMLCLOSE;
/*RTF格式,既word**/
odslistingclose;八關(guān)閉輸出窗口*/
odsrtffile=,,C:\Users\chengwubin\Desktop\_ppdf.rtf";
procmeansdata=work.aa;
var_COL4_COL5;
outputout=work.bbbbb;
run;
procprintdata=work.bbbbb;
run;
odsrtfclose;
odslisting;/*打開輸出窗口*/
/**輸出為DAT格式***/
wwb"C:\Users\chengwubin\Desktop";/*定義輸出途徑和文獻(xiàn)名邏輯文獻(xiàn)名**/
optionnocenter;/*全局變量,顯示不居中,靠左*/
odslistingfile="C:\Users\chengwubin\Desktop\qa.dat";
procprintdata=work.qa;/*SAS程序*/
run;
odslisting;/*打開OUTPUT窗口*/
/**輸入為CSV格式,可用EXCEL打開**/
optionnocenter;
exout"C:\Users\chengwubin\Desktop\work\fql抽查\ccl期.csv";
odslistingclose;固定
odsresultsoff;固定
odscsvall;固定
procprintdata=chouc.chouc01;
run;
odscsvallclose;固定
odsresultson;固定
odslisting;固定
"GLMg一般線性模型*對(duì)3個(gè)學(xué)生分別測(cè)量在各年齡時(shí)的身高狀況*有關(guān)性*/
dataaa;
inputidsex$yl-y3;
y=yl;age=10;
y=y2;age=15;
y=y3;age=20;
cards;
1f120130160
2m130150170
3f110135159
run;
procglmdata=aa;
classsex;
modelyl-y3=sex;
repeatedage3(101520);
run;
“mixed模型為混合模型有與glm的功能也更強(qiáng)大*/
dataab;
inputidsex$yl-y3;
y=yl;age=10;
y=y2;age=15;
y=y3;age=20;
cards;
1f120130160
2m130150170
3f110135159
7
run;
procmixeddata=ab;
classsexage;
modely=sexage;
repeated;/*沒(méi)有指定R,用的默認(rèn)R距陳*/
run;
表2£P(guān)LOT語(yǔ)句的選項(xiàng)SYMBOL語(yǔ)句用來(lái)控制表示點(diǎn)的符號(hào)和點(diǎn)鼬連緣
選項(xiàng)意義說(shuō)明其棚是不同SYMBOL語(yǔ)句的序號(hào),可以是1?99,缺省
FRAM|NOFRAM在圖形四周加入或不加入邊框缺省為為1,選項(xiàng)見(jiàn)表27
加入
&2-7SYMBOL晌的薊
CFRAM=顏色邊框內(nèi)的顏色缺省為
白色I(xiàn)X?1
Motwm號(hào)pluixftv.bacrd!ria|lc.
ALTOHREF(AUTOV在水平(垂過(guò))軸的每個(gè)土刻度處4r.tx*欣u.必,emit
EREF)
加入水平(垂且)參考線C?lfi衰不。的刖AM的況bltck.redCTMLcvmMcea,
mr.piok.aruif.hew.
NOAXIS取消坐標(biāo)軸及相關(guān)的圖形元素
CAXIS=顏色設(shè)定軸的顏色
H>cellApct.ft.ia
CTEXT=顏色設(shè)定與軸相關(guān)字符的撕色KXM.
i?KOittn*.RiiQIIM.it?4]e
RAXIS=值列舉設(shè)定水平軸主刻度的值
a?it夕M虢時(shí)
VAXIS=值列舉設(shè)定垂汽軸主刻度的值IMnWig科0-m.1-M.2-M
IM
overlay多個(gè)圖共坐標(biāo)
例:
MO現(xiàn)療與srm”用軟分
(2)散點(diǎn)圖
可以在圖幃第三個(gè)變量分組畫出散點(diǎn)圖(如圖25
繪制家庭總收入對(duì)家庭總支出的散點(diǎn)圖,代科如下:
右),代碼如下:
procgplotdata=mylib.sryzc;
procgplotdata=mylib.sryzc;
plotlncome*outgo;plotlncome*outgo=r_id;
run;symboHcolopblackv=star;
結(jié)果顯示了一個(gè)GRAPHICS窗口,繪出了以Incomesymbol2colopbluev=dot;
勺縱機(jī)以O(shè)utgo為橫軸橫點(diǎn)圖(見(jiàn)圖)。
。)汪戰(zhàn)囹也口J以分地區(qū)繪制家庭總收入對(duì)家居編號(hào)的連線圖
為了繪制連線,只要在SYMBOL語(yǔ)句中指定i=join,(圖249右),代碼如下:
例如繪制家庭總收入對(duì)家庭編號(hào)的連線圖02-495),procgplotdata=mylib.sryzc;
代碼如下:plotlncome*id=r_id;
procgplotdata=mylib.sryzc;symbollcolo尸blacki=joinv=star;
plotlncome*id;symbol2colopbluei=joinv=dot;
symboli=joinv=star;
run;
—
@?q一i-:
/*散點(diǎn)圖*連線圖gplot/
procgplotdata=A;
symbo1i=nonev=star;
/"SYMBOL語(yǔ)句是一種全程語(yǔ)句,指定繪圖用的連線方式、顏色、散點(diǎn)符號(hào)、大小,等等,
SYMBOL語(yǔ)句可以帶編號(hào),如SYMB0L2,SYMB0L3*/
plotamount*_COLO;/*以SATV為縱軸、以SATM為橫軸,用PLOT語(yǔ)句指定繪圖用的
變量*/
run;
/*繪制曲線*/
procgplotdata=sasuser.air;
symbolli=joinv=noneline=l;/*第?種SYMBOL語(yǔ)句指定了LINE=1?表達(dá)線型
為實(shí)線*/
symbol2i=joinv=noneline=2;/*第一種SYMBOL語(yǔ)句指定了LINE=2,表達(dá)線型
為虛線*/
plotco*datetime=lso2*datetime=2/overlay;
/*我們?cè)赑LOT語(yǔ)句中用了“縱軸*橫軸=n”的格式來(lái)指定曲線使用哪一種SYMBOL語(yǔ)句
的規(guī)定來(lái)畫,n對(duì)應(yīng)于SYMBOL語(yǔ)句的序號(hào)*/
run;
/*SYMBOL語(yǔ)句的工=選項(xiàng)還可以取SPLINE表達(dá)在散點(diǎn)間連接連樣條曲線,
AMXI=SMnn(nn取00—99值)表達(dá)繪制樣條曲線但可以不通過(guò)散點(diǎn),rm值代表曲線光
滑性與擬和度的折中。
B取I=NEEDLE繪制每個(gè)點(diǎn)到橫軸的垂線。
C取T=RL繪制線性回歸直線,1=RQ為二次曲線,工=RC為三次曲線,
D背面加上CLInn如RLCLI95表達(dá)在回歸直線之外繪制預(yù)測(cè)值的95%置信限曲線*/
圖形關(guān)健字繪制的圖形類型圖形關(guān)健字繪制的圖形類型
block方塊圖pie餅形圖
hbar水平的條形圖pie3d三維餅形圖
hbar3d水平的三維條形圖donut環(huán)形圖
vbar豎立的條形圖star星形圖
vbar3d豎立的三維條形圖
可以指定分組的變量,例如在每個(gè)區(qū)段內(nèi)再分段,可
以用如下代碼:
procgchartdata=mylib.sryzc;
vbarIncome/subgroup=RJd;
run;
結(jié)果如圖所示.
旦考:subgrmip和group的區(qū)別?
/*用GCHART過(guò)程繪制直方圖、扇形圖、三維直方圖等表達(dá)變量分布的圖形,*/
procgchartdata=fqLl;
hbar_COL5;
run;
/*其中繪圖用的變量用VBAR語(yǔ)句給出。假如把VBAR改成HBAR則條形方向變?yōu)闄M向。
用GCHART繪制的直方圖和在INSIGHT中繪制的直方圖有所不一樣,它在橫軸標(biāo)的是區(qū)間的
中點(diǎn)值,而在INSIGHT中橫軸標(biāo)的是區(qū)間的端點(diǎn)值。
可以繪制分組的直方圖,例如按性別分組繪制兩個(gè)直方圖并排放置,可以用如下程序:*/
goptionsftsext="宋體”;
procgchartdata=fqll;
title”剩余期限頻率圖,
vbar_COL6/group=_COL20;
label_COL6="剩余期限”;
run;
/*在GCHART中用PIE語(yǔ)句繪制表達(dá)頻數(shù)的扇形圖,例如:*/
procgchartdata=fqLl;
pie_COL6/TYPE=PERCENT;/*假如想顯示比例值,只要在PIE語(yǔ)句中加入
TYPE=PERCENT選項(xiàng),*/
run;
用SAS/GRAPH繪圖
SAS可以把存貯在SAS數(shù)據(jù)集中的數(shù)據(jù)以圖形的方式形象直觀地顯示出來(lái)。在
SAS/GRAPH模塊的支持下,SAS可以作散點(diǎn)圖、曲線圖、直方圖、扇面圖、三
維曲面圖、等高線圖、地圖,等等。
散點(diǎn)圖和曲線圖
用GPLOT過(guò)程繪制散點(diǎn)圖和曲線圖。例如,我們要繪制SASUSER.GPA中SATV對(duì)
SASM的散點(diǎn)圖,只要月此程序:
procgplotdata=sasuser.gpa;
symboli=nonev=star;
plotsatv*satm;
run;
成果顯示了一種GRAPHICS窗口,繪出了以SATV為縱軸、以SATM為橫軸的散點(diǎn)
圖(見(jiàn)圖1)。在GPLOT過(guò)程中,用PLOT語(yǔ)句指定繪圖用的變量。SYMBOL語(yǔ)
句是一種全程語(yǔ)句,指定繪圖用的連線方式、顏色、散點(diǎn)符號(hào)、大小,等等。
SYMBOL語(yǔ)句可以帶編號(hào),如SYMBOL2,SYMBOL3等,不帶編號(hào)的相稱于
SYMBOL1o
為了繪制連線,只要在SYMROL語(yǔ)句中指定FJ0IN。例如,對(duì)SASUSER.AIR數(shù)
據(jù)集,以DATETIME為橫軸、以CO為縱軸繪曲線圖圖,可以用:
procgplotdata=sasuser.air;
symboli=joinv=star;
plotco*datetime;
run;
見(jiàn)圖2o假如不想在圖中出現(xiàn)散點(diǎn)符號(hào)可以在SYMBOL語(yǔ)句中用V二NONE。
為了在圖中作幾條曲線,只要在PLOT語(yǔ)句中指定多種因變量(自變量一般應(yīng)為
同一種),并使用OVERLAY選項(xiàng),如:
procgplotdata=sasuser.air;
symbol1i=joinv=noneline=l;
symbol2i=joinv=noneline=2;
plotco*datetime=lso2*datetimc=2/overlay;
run;
其中我們指定了兩個(gè)SYMBOL語(yǔ)句,第一種SYMBOL語(yǔ)句指定了LINE=1,表達(dá)線
型為實(shí)線,第二個(gè)SYMBOL語(yǔ)句指定了LINE=2表達(dá)線型為虛線。我們?cè)赑LOT語(yǔ)
句中用了“縱軸木橫軸二〃”的格式來(lái)指定曲線使用哪一種SYMBOL語(yǔ)句的規(guī)定來(lái)
畫,〃對(duì)應(yīng)于SYMBOL語(yǔ)句的序號(hào)。
SYMBOL語(yǔ)句的1=選項(xiàng)還可以取SPLINE表達(dá)在散點(diǎn)間連接連樣條曲線,取I=SM
nn(〃〃取00—99值)表達(dá)繪制樣條曲線但可以不通過(guò)散點(diǎn),〃值代表曲線
光滑性與擬和度的折中。取I二NEEDLE繪制每個(gè)點(diǎn)到橫軸的垂線。取I二RL繪制
線性回歸直線,I=RQ為二次曲線,I二RC為三次曲線,背面加上CLI〃〃如
RLCLI95表達(dá)在回歸直線之外繪制預(yù)測(cè)值的95%置信限曲線,例如:
procgplotdata=sasuser.gpa;
symboli=rlcli95v=star;
plotsatv*satm;
run;
見(jiàn)圖3oGPLOT過(guò)程還可以有其他靈活的使用方法,可以參照有關(guān)資料或用SAS
系統(tǒng)菜單“Help|ExtendedHelp”,從中找"SASSystemHelp:MainMenu
IGraphicsIGPLOT”。
直方圖和扇形圖
用GCHART過(guò)程繪制直方圖、扇形圖、三維直方圖等表達(dá)變量分布的圖形。例
如,要繪制SASUSER.GPA中GPA的分布直方圖,只要用:
procgchartdata=sasuser.gpa;
vbargpa;
run;
其中繪圖用的變量用VBAR語(yǔ)句給出。圖形見(jiàn)圖4o假如把VBAR改成HBAR則條
形方向變?yōu)闄M向。用GCHART繪制的直方圖和在INSIGHT中繪制的直方圖有所不
一樣,它在橫軸標(biāo)的是區(qū)間的中點(diǎn)值,而在INSIGHT中橫軸標(biāo)的是區(qū)間的端點(diǎn)
值。
可以繪制分組的直方圖,例如按性別分組繪制兩個(gè)直方圖并排放置,可以用如
下程序:
procgchartdata=sasuser.gpa;
vbargpa/group=sex;
run;
成果見(jiàn)圖5o
在GCHART中用PIE語(yǔ)句繪制表達(dá)頻數(shù)的扇形圖,例如:
procgchartdata=sasuser.gpa;
piesex;
run;
成果見(jiàn)圖6o假如想顯示比例值,只要在PIE語(yǔ)句中加入TYPE:PERCENT選項(xiàng),
如“piesex/type=percent;"。
GCHART過(guò)程還可以用BLOCK語(yǔ)句繪制三維直方圖。例如,在SASUSER.HOUSES
有多種房子的狀況,其中BEDROOMS表達(dá)臥室個(gè)數(shù),STYLE表達(dá)房子的式樣,都
是分類變量,我們可以用如下程序畫出反應(yīng)臥室個(gè)數(shù)和房子式樣的聯(lián)合分布的
三維直方圖:
goptionshpos=90vpos=70;
procgchartdata=sasuser.houses;
blockstyle/group二bedrooms;
三維曲面圖和等高線圖
假設(shè)對(duì)一種二元函數(shù)z二f(x,y),我們有了x取等間隔值、y取等間隔值時(shí)z的
值,這時(shí)我們可以用G3D過(guò)程繪制曲面圖形,用GC0NT0UR繪制曲面的等高線
圖。
例如,我們想繪制一種二維正態(tài)分布曲面的圖形,假設(shè)(X,Y)服從聯(lián)合正態(tài)分
布,其均值都是0,方差分別為1和a,有關(guān)系數(shù)為r。這時(shí),我們可以得到(X,
Y)的聯(lián)合密度函數(shù)的公式為:
我們可以在一種網(wǎng)格上計(jì)算曲面的值:
datadnorm2;
a=2;
a2=sqrt(a);
r=0.5;
det=a*(l-r*r);
dox=-3to3by0.3;
doy=-3*a2to3^a2by0.3*a2;
z=l/(2*3.1415926*det)*exp(-0.5/det*(a*x*x+y*y-2*r*a2*x*y));
output;
end;
encl;
keepxyz;
run;
然后,我們就可以用G3D過(guò)程來(lái)繪制曲面圖:
procg3ddata=dnorm2;
plotx*y=z;
run;
見(jiàn)圖8。用GCONTOIR過(guò)程可以繪制曲面對(duì)應(yīng)的等高線圖,例如:
procgcontourdata=dnorm2;
plotx*y=z;
run;
見(jiàn)圖90
圖形的調(diào)整與輸出
各繪圖過(guò)程中都指定了豐富的選項(xiàng)來(lái)調(diào)整圖形,讀者可以參照有關(guān)資料或查系
統(tǒng)的協(xié)助。此外,在圖形中也可以用TITLE語(yǔ)句和FOOTNOTE語(yǔ)句給圖形加標(biāo)題
和腳注。為了在圖形的標(biāo)題、標(biāo)簽中也能使用中文,老的SAS版本需要比較多
的環(huán)節(jié),不過(guò)在Windows下的SAS8.0后來(lái)只要很簡(jiǎn)樸的語(yǔ)句就可以在圖形中
使用TrueType字型的中文,例如:
goptionsftext="宋體〃;
procgplotdata=sasuser.class;
title〃試驗(yàn)FONTS的中文功能〃;
plotweight*height;
labelweight=〃體重〃height二〃身高〃;
run;
見(jiàn)圖10。
|二=|一
您的位置:首頁(yè)》課程輔導(dǎo)》SAS過(guò)程初步
SAS過(guò)程初步
(轉(zhuǎn)載自SAS園地)
?SAS過(guò)程使用方法及常用語(yǔ)句
OSAS過(guò)程使用方法
OSAS過(guò)程步常用語(yǔ)句
?用PRINT過(guò)程制作列作匯報(bào)
O基本使用方法
O使用中文列標(biāo)題
O標(biāo)題及全程語(yǔ)句
o用BY語(yǔ)句分組處理
o計(jì)算總計(jì)和小計(jì)
?用TABULATE過(guò)程作記錄量表格
?用SORT過(guò)程排序
?MEANS過(guò)程、UNIVARIATE過(guò)程、FREQ過(guò)程
?用CORR過(guò)程計(jì)算有關(guān)系數(shù)
?用SAS/GRAPH繪圖
O散點(diǎn)圖和曲線圖
O宜方圖和扇形圖
O三維曲面圖和等高線圖
O圖形的調(diào)整與輸出
前面講過(guò),SAS系統(tǒng)用SAS數(shù)據(jù)步生成和管理數(shù)據(jù),用過(guò)程步進(jìn)行分析、報(bào)表、繪圖。本章簡(jiǎn)介SAS
過(guò)程步的一般使用方法和常用語(yǔ)句的含義,以及幾種簡(jiǎn)樸報(bào)表、分析、繪圖過(guò)程的使用。
SAS過(guò)程使用方法及常用語(yǔ)句
SAS過(guò)程使用方法
SAS過(guò)程步的一般形式為:
PROC過(guò)程名DNQ輸入數(shù)據(jù)集選項(xiàng);
過(guò)程語(yǔ)句/選項(xiàng);
過(guò)程語(yǔ)句/選項(xiàng);
RUN;
其中PROC語(yǔ)句的選項(xiàng)是可選的,用來(lái)規(guī)定過(guò)程運(yùn)行的某些設(shè)置,假如有多種選項(xiàng)用空格分開。
DATA二輸入數(shù)據(jù)集也是可選的,假如缺省的話使用近來(lái)生成的數(shù)據(jù)集。過(guò)程步一般以RUN語(yǔ)句結(jié)
束,也可以省略RUN語(yǔ)句而在下一種過(guò)程步或數(shù)據(jù)步的開始處結(jié)束,此外尚有一種所謂“交互式過(guò)
程”可以在碰到RUN語(yǔ)句時(shí)不結(jié)束過(guò)程運(yùn)行,只有碰到QUIT語(yǔ)句或者下一種過(guò)程步、數(shù)據(jù)步時(shí)才結(jié)
束。過(guò)程步在PROC語(yǔ)句之后、結(jié)束之前可以有若干個(gè)過(guò)程語(yǔ)句。一般狀況下,過(guò)程語(yǔ)句與數(shù)據(jù)步中
的語(yǔ)句不一樣,數(shù)據(jù)步中的語(yǔ)句不能用在過(guò)程步中。過(guò)程步語(yǔ)句一般以某一種關(guān)鍵字開頭,例如
VAR.BY、TABLES、WEIGHT等,語(yǔ)句中有某些有關(guān)闡明,假如有選擇項(xiàng)的話要寫在斜杠后。
SAS過(guò)程步有些是對(duì)數(shù)據(jù)集作某種變換(例如SORT過(guò)程對(duì)數(shù)據(jù)集排序),不生成顯示成果;多數(shù)過(guò)
程步是對(duì)數(shù)據(jù)集作某些分析、報(bào)表,這時(shí)成果出目前OUTPUT窗口(高精度繪圖過(guò)程的輸出在
GRAPHICS窗口)。對(duì)OUTPUT窗口的成果,我們可以用“File|SaveAs”菜單把它保留到一種文
本文獻(xiàn)進(jìn)行深入的修飾,插入到其他匯報(bào)中,也可以用“File|Print”菜單之間打印。
SAS過(guò)程步常用語(yǔ)句
本小節(jié)簡(jiǎn)樸簡(jiǎn)介幾種在SAS過(guò)程步中常見(jiàn)的語(yǔ)句,更詳細(xì)的使用方法可以在后來(lái)實(shí)際用屆時(shí)再仔細(xì)
體會(huì)。
一、VAR語(yǔ)句
VAR語(yǔ)句在諸多過(guò)程中用來(lái)指定分析變量。在VAR背面給出變量列表:
VAR變量名1變量名2…變量名n;
變量名列表可以使用省略的形式,如XI-X3,MATH-CHINESE等。VAR使用方法例如:
varmathChinese;
二、MODEL語(yǔ)句
MODEL語(yǔ)句在某些記錄建模過(guò)程中用來(lái)指定模型的形式。其一般形式為
MODEL因變量=自變量表/選項(xiàng);
例如
mode1math=chinese;
即用語(yǔ)文成績(jī)預(yù)測(cè)數(shù)學(xué)成績(jī)。
三、BY語(yǔ)句和CLASS語(yǔ)句
BY語(yǔ)句在過(guò)程中一般用來(lái)指定一種或幾種分組變量,根據(jù)這些分組變量值把觀測(cè)分組,然后對(duì)每一
組觀測(cè)分別進(jìn)行本過(guò)程指定的分析。在使用帶有BY語(yǔ)句的過(guò)程步之前一般先用SORT過(guò)程對(duì)數(shù)據(jù)集
排序。例如,假設(shè)我們已經(jīng)把C9501數(shù)據(jù)集按性別排序,則下列PRINT過(guò)程可以把男、女生分別列
出:
procprintdata=c9501;
bysex;
run;
成果為
TheSASSystem2
■SEX二男
OBSNAMEMATHCHINESE
1李明9298
2王思明8690
3張聰98109
SEX=^C
OBSNAMEMATHCHINESE
4張紅藝89106
5劉潁80110
在某些過(guò)程(如方差分析)中,使用CLASS語(yǔ)句指定一種或兒種分類變量,它實(shí)際相稱于因變量。
而在另某些過(guò)程(如MEANS)中,CLASS語(yǔ)句作用與BY語(yǔ)句類似,可以指定分類變量,把觀測(cè)按分
類變量分類后分別進(jìn)行分析。使用CLASS時(shí)不需要先按分類變量排序。
四、OUTPUT語(yǔ)句
在過(guò)程步中常常用OUTPUT語(yǔ)句指定輸出成果寄存的數(shù)據(jù)集,不一樣過(guò)程中把輸出成果存入數(shù)據(jù)集的
措施各有不一樣,OUTPUT語(yǔ)句是用得最多的一種,其一般格式為:
OUTPUTOUT—輸出數(shù)據(jù)集名關(guān)鍵字一變量名關(guān)鍵字一變星名…;
其中用0仃=給出了要生成的成果數(shù)據(jù)集的名字,用“關(guān)鍵字=變量名”的方式指定了輸出哪些成
果(關(guān)鍵字的例子例如MEANS過(guò)程中的MEAN,VAR,STD等等),等號(hào)背面的變量名指定了這些成果
在輸出數(shù)據(jù)集中叫什么名字。例如
procmeansdata=sasuser.c9501;
varmath;
outputoul=resultn=nmean=meanmathvar=varmath;
run;
procprintdata=result;run;
五、FREQ語(yǔ)句和WEIGHT語(yǔ)句
FREQ語(yǔ)句指定一種反復(fù)數(shù)變量,每個(gè)觀測(cè)中此變量的值闡明這個(gè)觀測(cè)實(shí)際代表多少個(gè)完全相似的反
復(fù)觀測(cè)。FREQ變量只取整數(shù)值。如
freqnumcell;
WEIGHT語(yǔ)句指定一種權(quán)重變量,在某些容許加權(quán)的過(guò)程中代表權(quán)重,其值與觀測(cè)對(duì)應(yīng)的方差的倒數(shù)
成比例。
六、ID語(yǔ)句
有些過(guò)程(如PRINT、UNIVARIATE)需要輸出觀測(cè)的代號(hào),這一般使用觀測(cè)的序號(hào)。不過(guò),假如數(shù)
據(jù)集中有一種變量可以用來(lái)辨別觀測(cè)(如人名、省市名),就可以用ID語(yǔ)句指定這個(gè)變量作為觀測(cè)
標(biāo)識(shí),如:
idname;
指定用變量NAME的值來(lái)標(biāo)識(shí)觀測(cè)。
七、WHERE語(yǔ)句
用WHERE語(yǔ)句可以選擇輸入數(shù)據(jù)集的一種行子集來(lái)進(jìn)行分析,在WHERE關(guān)鍵字后指定一種條件。例
如:
wheremath>=60andchinese>=60;
指定只分析數(shù)學(xué)、語(yǔ)文成績(jī)都及格的學(xué)生。
八、LABEL語(yǔ)句和FORMAT語(yǔ)句
LABEL語(yǔ)句為變量指定一種標(biāo)簽,諸多過(guò)程可以使用這樣的標(biāo)簽。其格式為
LABEL變量名='標(biāo)簽'變量名='標(biāo)簽’…;
例如
procprintdata=sasuser.c9501label;
idname;
varmathChinese;
labelname='姓名'math='數(shù)學(xué)成績(jī)'Chinese='語(yǔ)文成績(jī)';
run;
成果顯示
姓名數(shù)學(xué)成績(jī)語(yǔ)文成績(jī)
李明9298
張紅藝89106
王思明8690
張聰98109
劉潁80110
FORMAT語(yǔ)句可認(rèn)為變量輸出規(guī)定一種輸出格式,例如
procprintdata=sasuser.c9501;formatmath5.1Chinese5.1;
使得列出的數(shù)學(xué)、語(yǔ)文成績(jī)寬度占5位,帶一位小數(shù)。
實(shí)際上,在生成數(shù)據(jù)集的DATA步中也可以用FORMAT語(yǔ)句規(guī)定變量的輸出格式,用LABEL語(yǔ)句規(guī)定
變量的標(biāo)簽,用LENGTH語(yǔ)句規(guī)定變量的存貯長(zhǎng)度,用ATTRIB語(yǔ)句同步規(guī)定變量的各屬性。在數(shù)據(jù)
步中規(guī)定的變量屬性是附屬于數(shù)據(jù)集自身的,是永久的;在過(guò)程步中規(guī)定的變量屬性(標(biāo)簽、輸出
格式等)只用于此過(guò)程的本次運(yùn)行。
用PRINT過(guò)程制作列表匯報(bào)
本節(jié)講解PRINT過(guò)程的使用,并用它來(lái)輔助講解某些常用語(yǔ)句的使用。
基本使用方法
PRINT過(guò)程是最常用的SAS過(guò)程之一。我們?cè)谏闪艘环N數(shù)據(jù)集之后,假如不是太大,一般都用一
種
procprint;run;
過(guò)程步來(lái)列出數(shù)據(jù)集的內(nèi)容,這樣可以檢查變量與值之間對(duì)應(yīng)與否對(duì)的,數(shù)據(jù)輸入與否對(duì)的。為了
列出一種指定的數(shù)據(jù)集,在PROC語(yǔ)句中使用DATA=選項(xiàng)指定要列表的輸入數(shù)據(jù)集名,例如:
procprintdata=sasuser.gpa;run;
在過(guò)程內(nèi)使用VAR語(yǔ)句可以指定要列出的變量并指定次序。例如,
procprintdata=c9501;
varnameChinesesex;
run;
列出變量NAME、CHINESE.SEX的值。注意這已不是生成時(shí)的變量次序。變量MATH未列出。成果如
下
TheSASSystem3
OBSNAMECHINESESEX
1李明98男
2張紅藝106女
3王思明90男
4張聰109男
5劉潁110女
注意PRINT的輸出第一列總是標(biāo)為OBS,值為觀測(cè)序號(hào)。我們有時(shí)不想輸出這一列,可以在PROC
PRINT語(yǔ)句中加入NOOBS選項(xiàng),如:
procprintdata=c9501noobs;
run;
成果中就沒(méi)有了OBS這一列。
在過(guò)程中使用WHERE語(yǔ)句可以從輸入數(shù)據(jù)集中選一種子集來(lái)處理,在PRINT過(guò)程中使用陽(yáng)ERE可以
指定只列出滿足條件的觀測(cè)。例如,
procprintdata=c9501;
wherenamein('李明','張聰');
run;
成果為
OBSNAMESEXMATHCHINESEAVG
1李明男929886.8333
4張聰男9810994.4167
只列出了李明和張聰兩個(gè)人的觀測(cè)。注意其觀測(cè)序號(hào)分別為1和4,這是生成C9501數(shù)據(jù)集時(shí)確定
的。
使用中文列標(biāo)題
為了對(duì)列標(biāo)題使用中文,可以在過(guò)程內(nèi)用LABEL語(yǔ)句給變量指定標(biāo)簽,同步在PROCPRINT語(yǔ)句中加
LABEL選項(xiàng),例如:
procprintdata=c9501noobslabel;
varnamesexmathChineseavg;
labelname='姓名'sex='性別'math='數(shù)學(xué)'Chinese='語(yǔ)文'avg='平均分';
run;
則成果如下:
TheSASSystem6
姓名性別數(shù)學(xué)語(yǔ)文平均分
李明男929886.8333
張紅藝女8910688.6667
王思明男869080.5000
張聰男9810994.4167
劉潁女8011085.8333
實(shí)際上,我們還可以在生成數(shù)據(jù)集的數(shù)據(jù)步中使用如上的label語(yǔ)句,成果數(shù)據(jù)集中的變量就有了
標(biāo)簽,在過(guò)程步中可以直接使用而不需再次用label語(yǔ)句定義。
標(biāo)題及全程語(yǔ)句
我們從上面的輸出成果看到,在每頁(yè)輸出成果上面有一行標(biāo)題,內(nèi)容為“TheSASSystem"。實(shí)際
上,我們可以指定自己的標(biāo)題來(lái)取代SAS缺省的標(biāo)題。指定標(biāo)題的TITLE語(yǔ)句的格式為:
TITLE'標(biāo)題內(nèi)容;
例如,在前一例的程序前面加上一行
title'95級(jí)1班成績(jī)表
則輸出成果的標(biāo)題為“95級(jí)1班成績(jī)表”。要注意的是,TITLE語(yǔ)句是一種所謂的“全程”語(yǔ)句,
“全程”語(yǔ)句與一般語(yǔ)句不一樣,一般語(yǔ)句必須用在數(shù)據(jù)步或過(guò)程步內(nèi),作為數(shù)據(jù)步或過(guò)程步的一
部分,而全程語(yǔ)句則既可以用在數(shù)據(jù)步和過(guò)程步內(nèi),又可以單獨(dú)使用(在數(shù)據(jù)步、過(guò)程步外部)使
用。全程語(yǔ)句的作用一般有持續(xù)性,即:全程語(yǔ)句的效果將持續(xù)到退出SAS系統(tǒng)或用另一種同樣的
全程語(yǔ)句來(lái)修改它。例如,我們?cè)谏厦嬗肨ITLE語(yǔ)句指定了一種標(biāo)題,那么,這個(gè)標(biāo)題的作用將持
續(xù)下去,雖然下一種過(guò)程沒(méi)有用TITLE語(yǔ)句指定標(biāo)題它也會(huì)出目前下一種過(guò)程的輸出中,例如在上
面用TITLE語(yǔ)句為C9501數(shù)據(jù)集的列表輸出加了標(biāo)題后,再運(yùn)行如下程序:
procmeansdata=sasuser.gpa;
run;
你會(huì)發(fā)現(xiàn)標(biāo)題“95級(jí)1班成績(jī)表”仍出目前輸出的每一頁(yè),而這個(gè)標(biāo)題己經(jīng)與輸出內(nèi)容矛盾了(目
前分析的是SASUSER.GPA數(shù)據(jù)集而不是C9501數(shù)據(jù)集)。為了取消這個(gè)標(biāo)題,只要用一種沒(méi)有規(guī)定
內(nèi)容的空TITLE語(yǔ)句,即:
title;
這時(shí)連缺省的“TheSASSystem”標(biāo)題也沒(méi)有了。
用全程語(yǔ)句FOOTNOTE可認(rèn)為輸出加腳注,如:
footnote'第三章例子輸出';
則其后
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年計(jì)算機(jī)輔助類工具軟件項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 2025安徽蚌埠市龍子湖區(qū)產(chǎn)業(yè)發(fā)展有限公司招聘22人考前自測(cè)高頻考點(diǎn)模擬試題及完整答案詳解
- 2025年棗莊市精神衛(wèi)生中心公開招聘?jìng)浒钢乒ぷ魅藛T(19人)模擬試卷及答案詳解(奪冠系列)
- 2025廣西玉林北流市山圍鎮(zhèn)衛(wèi)生院公開招聘5人考前自測(cè)高頻考點(diǎn)模擬試題及完整答案詳解
- 教育培訓(xùn)成果保障責(zé)任書6篇
- 機(jī)構(gòu)環(huán)保行為公開承諾函(3篇)
- 企業(yè)信息管理系統(tǒng)標(biāo)準(zhǔn)化設(shè)置方案
- 線上服務(wù)品質(zhì)保障承諾函7篇
- 2025廣西百色靖西市人民醫(yī)院招聘導(dǎo)診分診員1人模擬試卷及答案詳解(名師系列)
- 江西省吉安市2024-2025學(xué)年高三上學(xué)期期末教學(xué)質(zhì)量檢測(cè)地理試題(解析版)
- 安全強(qiáng)安考試題及答案
- 基于16PF的保險(xiǎn)業(yè)銷售人員選拔與績(jī)效預(yù)測(cè):理論、實(shí)踐與展望
- 2026秋季國(guó)家管網(wǎng)集團(tuán)東北公司高校畢業(yè)生招聘筆試備考試題及答案解析
- 2025年10.13日少先隊(duì)建隊(duì)日主題班會(huì)課件薪火相傳強(qiáng)國(guó)有我
- 2025小學(xué)關(guān)于教育領(lǐng)域不正之風(fēng)和腐敗問(wèn)題專項(xiàng)整治工作方案
- 2025年工會(huì)社會(huì)工作者招聘筆試模擬試題庫(kù)及答案
- 2025年甘肅省武威市涼州區(qū)發(fā)放鎮(zhèn)招聘專業(yè)化管理大學(xué)生村文書備考考試題庫(kù)附答案解析
- 2024年成人高等考試《政治》(專升本)試題真題及答案
- 《犟龜》課件 部編語(yǔ)文三年級(jí)上冊(cè)
- 教科版科學(xué)五年級(jí)上冊(cè)2.1地球的表面教學(xué)課件
- 農(nóng)作物土地租賃合同5篇
評(píng)論
0/150
提交評(píng)論