SAS編程基礎(chǔ)講義教程_第1頁(yè)
SAS編程基礎(chǔ)講義教程_第2頁(yè)
SAS編程基礎(chǔ)講義教程_第3頁(yè)
SAS編程基礎(chǔ)講義教程_第4頁(yè)
SAS編程基礎(chǔ)講義教程_第5頁(yè)
已閱讀5頁(yè),還剩127頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第3章 SAS編程基礎(chǔ)本章內(nèi)容提要3.1 SAS語(yǔ)法基礎(chǔ)3.2 DATA步3.3 PROC步3.4 SAS語(yǔ)句編程練習(xí)例:Data sasuser.da1;input name$ X1 X2 X3;Y=X1+X2+X3;cards;M 3 1.3 0.5M 2 2.4 0.9F 5 3.2 0.8M 8 4.1 1.1F 7 3.3 0.6;Proc print data= sasuser.da1;run;SAS語(yǔ)言的基本單位是SAS語(yǔ)句,構(gòu)成一個(gè)SAS語(yǔ)句由下面兩種方式:一種是由關(guān)鍵詞開始:每個(gè)SAS語(yǔ)句一般由一個(gè)關(guān)鍵字(如DATA、PROC、INPUT、CARDS、BY)開頭,包含SAS名

2、字、特殊字符、運(yùn)算符等,以分號(hào)結(jié)束;關(guān)鍵詞:用于句首,說(shuō)明語(yǔ)句的類型和功能;SAS名:SAS語(yǔ)句中出現(xiàn)的SAS名有很多種類,如SAS數(shù)據(jù)集庫(kù)名、數(shù)據(jù)集名、變量名等。一種是SAS的表達(dá)式:SAS數(shù)據(jù)步程序中的計(jì)算用表達(dá)式完成,可以對(duì)變量作變換和賦值,創(chuàng)建新變量,計(jì)算新數(shù)值以及控制條件語(yǔ)句的運(yùn)行等。表達(dá)式是把常量、變量用運(yùn)算符、函數(shù)、括號(hào)連接起來(lái)得到一個(gè)計(jì)算結(jié)果的算式。3.1.1 SAS常數(shù)SAS常數(shù)是SAS系統(tǒng)可以識(shí)別的一些固定值。包括數(shù)值常數(shù)、字符常數(shù)和日期時(shí)間常數(shù)。1.數(shù)值常數(shù)數(shù)值常數(shù)包括小數(shù)點(diǎn)、負(fù)號(hào)及科學(xué)計(jì)數(shù)法中的E記號(hào)等。例:1, 5, 1.23, 1.2E232.字符常數(shù)字符常數(shù)是由引

3、號(hào)括起來(lái)的1-200個(gè)字符組成,如果字符常數(shù)本身帶有引號(hào),此時(shí)應(yīng)再次用引號(hào)括起來(lái)。 例: name=TOM”S; name=”TOMS”; /*例中,兩語(yǔ)句等價(jià)。*/3.1 SAS語(yǔ)法基礎(chǔ)3.日期時(shí)間常數(shù) 表示日期(時(shí)間)的字符串(用單引號(hào)括起來(lái))后跟一個(gè)表示日期的字母D/d或表示時(shí)間的字母T/t或表示日期時(shí)間的字母DT/dt,中間沒有空格。例:1jan2000d; 9:25t; 18jan00:9:27:25dt。3.1.2 SAS變量1.數(shù)值型變量日期、時(shí)間等變量存為數(shù)值型,數(shù)值型變量在數(shù)據(jù)集中的存儲(chǔ)一般使用8個(gè)字符。2.字符型變量字符型變量缺省的長(zhǎng)度為8個(gè)字符,其后加符號(hào)$,變量名與$之

4、間可以相連也可以有一個(gè)空格。SAS中用一個(gè)小數(shù)點(diǎn)來(lái)表示缺失值。SAS操作符是一些符號(hào),主要有算術(shù)操作符、比較操作符、邏輯操作符。1算術(shù)操作符(執(zhí)行一種算術(shù)運(yùn)算)+、-、*、/、*、|(字符串并接)2比較操作符(建立量變量之間的關(guān)系)LT、GT、EQ、LE、GE、NE 、 =、 =、 =3邏輯操作符(連接一系列比較式,常與if語(yǔ)句結(jié)合使用) AND、OR、NOT &、 |、 3.1.3 SAS操作符3.1.4 SAS函數(shù)1.SAS函數(shù)定義和表示SAS函數(shù)是SAS系統(tǒng)中編好的子程序,它對(duì)若干個(gè)變量進(jìn)行計(jì)算后返回一個(gè)結(jié)果值。SAS提供了比一般程序設(shè)計(jì)語(yǔ)言多的標(biāo)準(zhǔn)函數(shù),有數(shù)學(xué)函數(shù)、字符串函數(shù)、分布函數(shù)

5、、分位數(shù)函數(shù)、隨機(jī)數(shù)函數(shù)、日期時(shí)間函數(shù)、財(cái)政金融函數(shù)等。SAS函數(shù)的形式:函數(shù)名(X1, X2, ):SUM(X1,X2,Y1,Y2)函數(shù)名(OF 變量1 變量N) :SUM(OF X1 X2 Y1 Y2)函數(shù)名(OF 變量1變量N): SUM(OF X1-X20)注意:兩種寫法不能混寫,如SUM(OF X1,X2, X3)和SUM( X1-X3)都是錯(cuò)誤的。用函數(shù)可以簡(jiǎn)化程序不使用SAS函數(shù):total=xl+x2+x3+x4+x5+x6+x7+x8+x9+x10; if totaly then least=total; else least=y;使用SAS函數(shù):leastmin(sum(o

6、f x1-x10),y).函數(shù)分類常用函數(shù)功能數(shù)學(xué)運(yùn)算函數(shù)ABS( )取絕對(duì)值SQRT( )求平方根INT( )取整數(shù)部分EXP( )計(jì)數(shù)e的次冪LOG( )求e為底的自然對(duì)數(shù)SIN( )計(jì)算正弦LAGn( )求給定變量滯后為n的值統(tǒng)計(jì)計(jì)算函數(shù)MAX( )求最大值MIN( )求最小值MEAN( )求平均值SUM( )求和DIFn( )求給定變量X的第n階差STD( )求標(biāo)準(zhǔn)差PROBNORM( )標(biāo)準(zhǔn)正態(tài)分布函數(shù)一些常見的SAS函數(shù): 日期時(shí)間處理函數(shù)DATE( )/TODAY()取當(dāng)日的日期值DAY( )計(jì)算某月的那一日HOUR( )計(jì)算小時(shí)TIME( )取當(dāng)日的時(shí)間YEAR( )取年值字符

7、函數(shù)INDEX( )搜尋字符串的位置LEFT( )字符串表達(dá)式左對(duì)齊SUBSTR( )抽取子字符串TRIM( )移走尾部空格LENGTH( )給出字符變量的長(zhǎng)度UPCASE( )轉(zhuǎn)換為大寫財(cái)政金融函數(shù)COMPOUND( )計(jì)算復(fù)利IRR( )計(jì)算內(nèi)部贏利率NPV( )計(jì)算凈現(xiàn)值概率函數(shù): PROBNORM(X):標(biāo)準(zhǔn)正態(tài)分布函數(shù),該函數(shù)計(jì)算服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)變量U小于給定X的概率; PROBCHI(x,df,nc):卡方分布函數(shù)。該函數(shù)計(jì)算服從自由度為df,非中心參數(shù)為nc的分布的隨機(jī)變量小于給定X的概率。如果nc沒有規(guī)定或取為0,那么被計(jì)算的就是中心分布。注意,自由度df允許是非整數(shù).

8、PROBF(x, ndf, ddf,nc):F分布的分布函數(shù),該函數(shù)計(jì)算服從分子自由度為ndf, 分母自由度為ddf,非中心參數(shù)為nc的F分布的隨機(jī)變量小于給定值X的概率。如果nc沒有規(guī)定或取為0,那么被計(jì)算的就是中心F分布。注意:自由度允許是非整數(shù)。 PROBT(x,df,nc):該函數(shù)計(jì)算服從自由度為df,非中心參數(shù)為nc的T分布的隨機(jī)變量小于給定X的概率。如果nc沒有規(guī)定或取為0,那么被計(jì)算的就是中心T分布。注意:自由度df允許是非整數(shù)。 PROBBNML(p,n,m):其中0=p=1,0=m,這個(gè)函數(shù)給出參數(shù)為p和n的二項(xiàng)分布隨機(jī)變量X=240 then n+1;else delete

9、; Cards;82 78 69 90 78 89 79 86 98 76 56 80 72 76 81 69 78 91 92 71 85;proc print;run;3.2.3 OUTPUT語(yǔ)句和DELETE語(yǔ)句 、DROP、KEEP1.OUTPUT語(yǔ)句OUTPUT語(yǔ)句制定SAS系統(tǒng)輸出當(dāng)前的觀測(cè)到指定的SAS數(shù)據(jù)集中。其一般格式是:output ;output后的括號(hào)中的數(shù)據(jù)集名是可選項(xiàng)。當(dāng)沒有該選項(xiàng)時(shí),SAS系統(tǒng)把當(dāng)前這個(gè)觀測(cè)輸出到DATA語(yǔ)句命名的所有數(shù)據(jù)集上,并返回到DATA步開始處理此后的語(yǔ)句。當(dāng)有該選項(xiàng)時(shí),SAS系統(tǒng)把當(dāng)前這個(gè)觀測(cè)輸出到output語(yǔ)句規(guī)定的所有數(shù)據(jù)集上,并返

10、回到DATA步開始接著處理此后的語(yǔ)句。這里數(shù)據(jù)集名可以多于一個(gè),但必須在DATA語(yǔ)句中已被命名。 data class1 class2; input name$ chinese maths english ; total=chinese+maths+english; if total=240 then output class1; else output class2; cards; a 82 78 69 b 90 78 89 c 79 86 98 ; proc print data=class1; title 數(shù)據(jù)集class1 ; proc print data=class2; title

11、 數(shù)據(jù)集class2 ; run; 2.DELETE語(yǔ)句DELETE語(yǔ)句把符合條件的觀測(cè)從正在創(chuàng)建的數(shù)據(jù)集中刪去,并返回到DATA步開始處理其他觀測(cè)。如: Data class3; input sex$ chinese maths english ; If sex=“m” then delete; cards; m 82 78 69 f 90 78 89 m 79 86 98 ; proc print; run; 3.DROP和KEEP語(yǔ)句可以根據(jù)數(shù)據(jù)集的需要,選用和刪除一些變量,此時(shí)可以使用這兩個(gè)語(yǔ)句,格式為: DROP VARIABLES; KEEP VARIABLES; DROP=VAR

12、IABLES; KEEP=VARIABLES;由于DROP和KEEP語(yǔ)句的作用正好相反,使用DROP語(yǔ)句時(shí)也可以使用KEEP語(yǔ)句。實(shí)際中為了書寫方便,在保留變量較少時(shí),常用KEEP語(yǔ)句,而在刪除變量較少時(shí),使用DROP語(yǔ)句。語(yǔ)句選項(xiàng) 注意:在KEEP語(yǔ)句和DROP語(yǔ)句中,不加“=”,而在數(shù)據(jù)集后使用KEEP選項(xiàng)或DROP選項(xiàng)是需加“=”;變量之間用空格隔開;KEEP語(yǔ)句和DROP語(yǔ)句對(duì)當(dāng)前正在創(chuàng)建的所有數(shù)據(jù)及均起作用,而在數(shù)據(jù)集后使用KEEP選項(xiàng)或DROP選項(xiàng)僅對(duì)在他前面的數(shù)據(jù)集有效,對(duì)其他數(shù)據(jù)集不起作用。例:data class4;input name$ chinese maths engl

13、ish ;keep name total;total=chinese+maths+english;cards;a 82 78 69 b 90 78 89 c 79 86 98;與data class4(keep= name total或drop=chinese maths english);input name$ chinese maths english ;total=chinese+maths+english;cards;a 82 78 69 b 90 78 89 c 79 86 98;結(jié)果是一樣的3.2.4 WHERE語(yǔ)句WHERE語(yǔ)句是一個(gè)條件語(yǔ)句,它可以從已存在的SAS數(shù)據(jù)集中把滿足

14、條件的觀測(cè)輸出到新的SAS數(shù)據(jù)集中,它不能用在由CARDS語(yǔ)句構(gòu)成的DATA步中,也不能從包含原始數(shù)據(jù)的外部文件中選擇記錄。其一般格式是:WHERE where-expression;WHERE語(yǔ)句中的表達(dá)式where-expression是由一些列算符合操作數(shù)組成的一個(gè)算術(shù)或邏輯表達(dá)式,如: where total240; where x; where sex=“m”; where total in (257 263)在執(zhí)行WHERE表達(dá)式時(shí),SAS系統(tǒng)首先對(duì)第一個(gè)觀測(cè)計(jì)算,根據(jù)其取值決定是否執(zhí)行WHERE后的其它SAS語(yǔ)句:如果表達(dá)式計(jì)算的結(jié)果為真則執(zhí)行,如果為假,則不執(zhí)行而返回到DATA

15、開始繼續(xù)處理第二個(gè)觀測(cè),直到所有觀測(cè)都被處理完為止。數(shù)值型變量的名字如“X”可以單獨(dú)出現(xiàn)在WHERE表達(dá)式中,如果該變量值為0或缺省,則該表達(dá)式運(yùn)算結(jié)果為假,否則為真。例:data class ;input sex$ chinese maths english ;total=chinese+maths+english;cards;m 82 . 69 f 90 0 89 m 79 86 98;data class1;set class;where maths;run;proc print data=class1;run;Between-And算符:該算符選擇變量值落在某個(gè)范圍內(nèi)的觀測(cè),范圍的界限

16、可以是常數(shù)或表達(dá)式,其一般格式為:WHERE VARIABLE BETWEEN VAULE AND VAULE;如where score between 60 and 100Same And算符:除滿足已選的條件外,還滿足and后的條件的觀測(cè)。 例3.9 data class ; input sex$ chinese maths english ; total=chinese+maths+english; cards; m 82 78 69 f 90 78 89 m 79 86 98 M 80 80 80 ; data class1; set class; where total180; wh

17、ere same and total240; run; proc print data=class1; run; SET語(yǔ)句:調(diào)用一個(gè)SAS系統(tǒng)已存在的數(shù)據(jù)集利用SET語(yǔ)句可以從一個(gè)已經(jīng)存在的SAS數(shù)據(jù)集創(chuàng)建新的數(shù)據(jù)集,一般格式為:DATA new data-set-name;SET old data-set-name ;如: data class1; set class;SAS數(shù)據(jù)步的輸出一般是數(shù)據(jù)集,除此之外,SAS也提供了一個(gè)PUT語(yǔ)句,該語(yǔ)句可以將輸出結(jié)果顯示在LOG窗口中。PUT語(yǔ)句在關(guān)鍵字后面列出要輸出的各項(xiàng),每一項(xiàng)可以是變量名或字符串,各項(xiàng)之間用空格隔開。3.2.5 PUT語(yǔ)句例

18、:data ;X=0.5;Y=sin(x);Put Sine function value of x is y;run;Sine function value of 0.5 is 0.4794255386;在PUT語(yǔ)句中使用“變量名=”來(lái)指定輸出項(xiàng)可以顯示帶有變量名的輸出結(jié)果,如可以把上面程序中的PUT語(yǔ)句改為:Put x= y=;X=0.5 y=0.4794255386PUT語(yǔ)句的輸出結(jié)果默認(rèn)情況下被輸出到日志窗口,但在PUT語(yǔ)句之前用FILE語(yǔ)句可以改變PUT語(yǔ)句的輸出目的地。如在PUT語(yǔ)句之前用file print;可以把PUT語(yǔ)句輸出到輸出窗口;在file 語(yǔ)句中指定一個(gè)包含文件名的字

19、符串可以把PUT語(yǔ)句的輸出轉(zhuǎn)向到此文件中。3.2.6用在DATA步中的控制語(yǔ)句 控制語(yǔ)句用來(lái)改變語(yǔ)句的運(yùn)行順序或?qū)δ承┐_定的觀測(cè)跳過(guò)一些語(yǔ)句。1. IF語(yǔ)句(1)條件IF語(yǔ)句條件IF語(yǔ)句含有一個(gè)THEN子句,用來(lái)執(zhí)行滿足IF條件的那些觀測(cè)。如果某個(gè)觀測(cè)不滿足IF條件,則THEN子句不被執(zhí)行,此時(shí)可以使用ELSE語(yǔ)句來(lái)執(zhí)行有關(guān)的運(yùn)算。如果沒有規(guī)定ELSE語(yǔ)句,則SAS系統(tǒng)執(zhí)行緊跟在IF后面的下一個(gè)語(yǔ)句。其一般格式是:IF condition THEN statement ; 例3.5:data class1 class2; input name$ chinese maths english ;

20、total=chinese+maths+english; if total=240 then output class1; else output class2; cards; a 82 78 69 b 90 78 89 c 79 86 98 ; proc print data=class1; title 數(shù)據(jù)集class1 ; proc print data=class2; title 數(shù)據(jù)集class2 ; run; 例3.10:data class ; input sex$ chinese maths english ; total=chinese+maths+english; if s

21、ex=m then if total=240 then output; else put total2;run;proc print data=whereab;run; data a ;input x y ;cards;1 15 3 78 5 90;data b;input x z ;cards;1 69 2 89 4 98;data ifab;merge a b;if x2;run;proc print data=whereab1;run; 例3.11:使用WHERE語(yǔ)句的運(yùn)行結(jié)果:Obs x y z 4 78 98 5 90 .Where 語(yǔ)句先對(duì)數(shù)據(jù)使用where語(yǔ)句,然后再進(jìn)行其他語(yǔ)句

22、的執(zhí)行:x y x z 78 4 985 90使用IF語(yǔ)句的運(yùn)行結(jié)果:Obs x y z 1 4 90 98if 語(yǔ)句先對(duì)數(shù)據(jù)進(jìn)行合并,再執(zhí)行if 語(yǔ)句: x y z 1 15 69 2 78 89 4 90 982. SELECT語(yǔ)句SELECT語(yǔ)句可提供靈活的多分支語(yǔ)句,SELECT語(yǔ)句有兩種基本的結(jié)構(gòu):(1)SELECT(選擇表達(dá)式); WHEN(值列表) 語(yǔ)句; WHEN(值列表) 語(yǔ)句; OTHERWISE 語(yǔ)句; END;其中:“選擇表達(dá)式”是一個(gè)變量或者表達(dá)式;“值列表”是一個(gè)與選擇表達(dá)式相同取值類型的表達(dá)式或具體取值,可以有一項(xiàng),也可以有多項(xiàng),多項(xiàng)之間用逗號(hào)隔開;執(zhí)行SELEC

23、T結(jié)構(gòu)時(shí),先計(jì)算出選擇表達(dá)式和值列表中的所有值,然后把選擇表達(dá)式值由前向后與值列表中的值相比,如相等則執(zhí)行對(duì)應(yīng)的語(yǔ)句,然后退出SELECT結(jié)構(gòu)(不再查看后面的值列表)。如果選擇表達(dá)式的值不等于任何值列表中的值則執(zhí)行OTHERWISE對(duì)應(yīng)的語(yǔ)句。 例:SELECT(month); WHEN(Feb,Mar,Apr) put春天; WHEN(May,Jun,Jul) put夏天; OTHERWISE put 秋天或冬天;END;(2)SELECT; WHEN(條件) 語(yǔ)句; WHEN(條件) 語(yǔ)句; OTHERWISE 語(yǔ)句; END;這種SELECT語(yǔ)句沒有“選擇表達(dá)式”,而是在每一個(gè)WHEN語(yǔ)

24、句指定一個(gè)條件(邏輯表達(dá)式),執(zhí)行第一個(gè)滿足條件的WHEN語(yǔ)句后的語(yǔ)句,如果所有的條件都不滿足則執(zhí)行OTHERWISE后的語(yǔ)句。 例:SELECT; WHEN(age7) put嬰幼兒; WHEN(age18) put少年兒童; WHEN(age60) put中青年; OTHERWISE put 老年;END;3. DO語(yǔ)句DO語(yǔ)句是一種循環(huán)語(yǔ)句,即在DO 與END語(yǔ)句之間的這些語(yǔ)句被作為一個(gè)單元處理,稱為DO組。常見DO語(yǔ)句有以下四種形式:簡(jiǎn)單DO語(yǔ)句、循環(huán)DO語(yǔ)句(計(jì)數(shù))、DO WHILE語(yǔ)句(當(dāng)型)、DO UNTIL語(yǔ)句(直到型)。(1) 簡(jiǎn)單DO語(yǔ)句 (自身沒有控制變量)簡(jiǎn)單DO語(yǔ)句常

25、常用在IF-THEN-ELSE語(yǔ)句里,用來(lái)執(zhí)行當(dāng)IF條件成立時(shí)的一組語(yǔ)句,在IF條件不成立時(shí),跳出這組語(yǔ)句去執(zhí)行其它SAS語(yǔ)句。其一般格式是: DO; 其它SAS語(yǔ)句; END;例3.12:data class ;input sex$ chinese maths english ;if sex=m then do; total=chinese+maths+english; n+1; end;ave=sum(chinese,maths,english)/3;cards;m 82 78 69 f 90 78 89 m 79 86 98 m 76 56 80 f 72 76 81 f 69 78 9

26、1 m 92 71 85;proc print;run;(2)循環(huán)DO語(yǔ)句循環(huán)DO語(yǔ)句是指DO與END之間的語(yǔ)句被重復(fù)執(zhí)行的語(yǔ)句,其一般格式為: DO index-variable = start ; 其它sas語(yǔ)句; end;其中: index-variable:控制(計(jì)數(shù))變量,它的值控制著執(zhí)行情況及執(zhí)行次數(shù);Start為控制變量的初始值,當(dāng)同to stop(結(jié)束值)或BY increment(步長(zhǎng))一起使用時(shí),程序先把控制變量賦值為初始值,如果此值小于等于結(jié)束值則執(zhí)行循環(huán)體語(yǔ)句,然后把控制變量加上步長(zhǎng)繼續(xù)執(zhí)行循環(huán)體,直到控制變量的值大于結(jié)束值為止。省略步長(zhǎng)時(shí)默認(rèn)為1。 例: data;

27、do i=1 to 20 by 2; j=i*3; file print; put i j ; end; run;1 1 3 27 5 125 7 343 9 729 11 1331 13 2197 15 3375 17 4913 19 6859 (3) DO WHILE語(yǔ)句該語(yǔ)句規(guī)定當(dāng)WHILE后的表達(dá)式(其值是在每次循環(huán)開始前被計(jì)算)運(yùn)行的結(jié)果為真時(shí),重復(fù)地執(zhí)行DO組中的語(yǔ)句。其一般格式為: DO WHILE(expression)。(4) DO UNTIL語(yǔ)句該語(yǔ)句規(guī)定直到UNTIL后的表達(dá)式運(yùn)行的結(jié)果(其值是在每次循環(huán)結(jié)束后被計(jì)算)為真時(shí),循環(huán)結(jié)束。其一般格式為:DO UNTIL(ex

28、pression); 例3.14:data class ;input sex$ chinese maths english ; do i=1 to 10 by 2 while (n lt 2); total=chinese+maths+english; n+1; end;ave= (chinese+maths+english)/3;cards;m 82 78 69 f 90 78 89 m 79 86 98 m 76 56 80f 72 76 81 f 69 78 91 m 92 71 85;proc print;run; 例3.14:data class ;input sex$ chines

29、e maths english ; do i=1 to 10 by 2 until (n lt 2); total=chinese+maths+english; n+1; end;ave= (chinese+maths+english)/3;cards;m 82 78 69 f 90 78 89 m 79 86 98 m 76 56 80f 72 76 81 f 69 78 91 m 92 71 85;proc print;run;3.2.7 SET語(yǔ)句SET語(yǔ)句的用法:調(diào)用一個(gè)已存在的SAS數(shù)據(jù)集(復(fù)制數(shù)據(jù)集); 對(duì)已存在的SAS數(shù)據(jù)集進(jìn)行修改;把幾個(gè)已存在的SAS數(shù)據(jù)集連接成一個(gè)新的數(shù)據(jù)集

30、。 1.調(diào)用一個(gè)SAS系統(tǒng)已存在的數(shù)據(jù)集利用SET語(yǔ)句可以調(diào)用一個(gè)已經(jīng)存在的SAS數(shù)據(jù)集,以便對(duì)數(shù)據(jù)進(jìn)行其他處理。一般格式為:DATA new data-set-name;SET old data-set-name ;如: data class1; set class; 2.對(duì)已存在的SAS數(shù)據(jù)集進(jìn)行修改利用SET語(yǔ)句可以從一個(gè)已經(jīng)存在的SAS數(shù)據(jù)集創(chuàng)建新的數(shù)據(jù)集,一般格式為:DATA new data-set-name;SET old data-set-name ;SET后的選擇項(xiàng)有兩種情況:一是利用KEEP、DROP選項(xiàng)或語(yǔ)句生成部分變量的子集;二是利用WHERE、IF、SELECT語(yǔ)句生

31、成部分觀測(cè)子集。Data class1;Set sasuser.class (drop=name sex);run;Data class1;Set sasuser.class;Total=chinese+maths+english;If total=270 then output;run;Data class1 class2;Set sasuser.class;Select(sex); when(男) output class1; when(女) output class2;End;Drop sex;run; 3.數(shù)據(jù)集的縱向合并(1)相同變量順序連接此種方式下,各SAS數(shù)據(jù)集含有相同的變量,

32、SET語(yǔ)句將各數(shù)據(jù)集按照順序把所有觀測(cè)連接在一起,即使兩個(gè)觀測(cè)完全相同也應(yīng)按順序連接起來(lái),新數(shù)據(jù)集的觀測(cè)數(shù)目是所有這些數(shù)據(jù)集觀測(cè)數(shù)目之和。 data classes; set class1 class2 class3 class4; run;例3.15: data A; input name$ sex$; cards; rose f david m john m mayers f ;data B; input name$ computer physical maths english ; cards; rose 89 65 76 87 david 78 86 78 98 john 90 65

33、76 87 mayers 89(2)不同變量順序連接。連接的幾個(gè)數(shù)據(jù)集含有不同的變量,將具有相同變量的觀測(cè)連接起來(lái),而沒有變量取值的觀測(cè)為缺失值。連接后的變量個(gè)數(shù)為所有數(shù)據(jù)集變量數(shù)之和。67 78 80 ;data C; input sex$ total ave; cards; f 317 79.25 m 340 85 m 318 79.5 f 314 78.5 ;data ABC; set A B C; run; proc print; run;(3)按同一變量順序連接。首先按共同變量排序,連接后所形成的新數(shù)據(jù)集,首先讀入第一個(gè)數(shù)據(jù)集中第一個(gè)BY組中的觀測(cè),然后讀入第二個(gè)數(shù)據(jù)集中相同BY組中

34、的觀測(cè),以此類推,知道讀完所有BY組中的觀測(cè)。 data A; input name$ sex$; cards; rose f david m john m mayers f ; data B; input name$ computer physical maths english ; cards; rose 89 65 76 87 david 78 86 78 98 john 90 65 76 87 mayers 89 67 78 80 ; data C; input sex$ total ave; cards; f 317 79.25 m 340 85 m 318 79.5 f 314 7

35、8.5 ; data ABC; set A B C; run; proc print; run; data A; set A; run; proc sort; by sex; run; data C; set C; run; proc sort; by sex; run; data AC; set A C; by sex; run; proc print; run;3.2.8MERGE語(yǔ)句(數(shù)據(jù)集的橫向合并)MERGE語(yǔ)句把兩個(gè)或兩個(gè)以上的SAS數(shù)據(jù)集的變量合并為一個(gè)新的SAS數(shù)據(jù)集的變量。其一般格式為: MERGE data-set-name-1 data-set-name-2 data-s

36、et-name-n;1.一對(duì)一合并。其合并過(guò)程為:按MERGE語(yǔ)句后面數(shù)據(jù)集的排列順序,把第一個(gè)數(shù)據(jù)集中的第一個(gè)觀測(cè)與第二個(gè)數(shù)據(jù)集中的第一個(gè)觀測(cè),,第N個(gè)數(shù)據(jù)集中的第一個(gè)觀測(cè)合并成新數(shù)據(jù)集中的第一個(gè)觀測(cè)以此類推,直到所有觀測(cè)被合并為止。合并時(shí),以下幾點(diǎn)需要注意:合并后新數(shù)據(jù)集的觀測(cè)總數(shù)為參加合并的數(shù)據(jù)集中觀測(cè)的最大值。在合并時(shí),如果某數(shù)據(jù)集沒有某一個(gè)或幾個(gè)觀測(cè),則其對(duì)應(yīng)的變量值以缺失值代替。在合并時(shí),如果某幾個(gè)數(shù)據(jù)集有共同變量,則合并后的新數(shù)據(jù)集僅含有一個(gè)該變量,其對(duì)應(yīng)的值為列在MERGE語(yǔ)句最后一個(gè)含有該變量的數(shù)據(jù)集中的該變量觀測(cè)值。 data A; input name$ sex$; ca

37、rds; rose f david m john m mayers f ; data B; input name$ computer physical maths english ;cards; rose 89 65 76 87 david 78 86 78 98 john 90 65 76 87 mayers 89 67 78 80 ; data C; input sex$ total ave;cards; f 317 79.25 m 340 85 m 318 79.5 f 314 78.5 ; data ABC;MERGE A B C;run; proc print;run;2.匹配合并。

38、每一個(gè)數(shù)據(jù)集至少有一個(gè)共同變量,且首先按共同變量進(jìn)行排序,此共同變量稱為匹配變量,通過(guò)BY組排序后形成的每一個(gè)組稱為BY組,匹配合并實(shí)際上就是BY組之間的一對(duì)一合并。合并時(shí),以下幾點(diǎn)需要注意:對(duì)每一個(gè)BY組,新數(shù)據(jù)集中的BY組的觀測(cè)個(gè)數(shù)是各合并數(shù)據(jù)集中相應(yīng)BY組觀測(cè)數(shù)的最大值;對(duì)不同的BY組,SAS系統(tǒng)首先處理那些BY值較小的觀測(cè),然后再處理BY值較大的觀測(cè);在同一BY組中,按MERGE語(yǔ)句后面數(shù)據(jù)集的排列順序,把各數(shù)據(jù)集對(duì)應(yīng)BY組的第一個(gè)觀測(cè)進(jìn)行合并,形成新數(shù)據(jù)集中的第一個(gè)觀測(cè),以此類推沒直到所有觀測(cè)被合并為止。如果某一數(shù)據(jù)集在某一BY組中沒有觀測(cè),則按缺省值處理。 例3.16: data

39、A; input name$ sex$;cards; benjim m rose f david m john m mayers f mayers m ; proc sort;by name;run; data B; input name$ comp phys mat eng;cards; rose 89 65 76 87 david 78 86 78 98 david 87 69 77 90 john 90 65 76 87 mayers 89 67 78 80 star 66 81 75 94 ; proc sort;by name;run; data AB; merge A B;by n

40、ame; run; proc print; run;排序的結(jié)果 NAME COMP PHYS MAT ENG david 78 86 78 98 david 87 69 77 90 john 90 65 76 87 mayers 89 67 78 80 rose 89 65 76 87 star 66 81 75 94 NAME SEX benjim m david m john m mayers f mayers m rose f內(nèi)容回顧DATA步PROC步DATA score;input name$ sex$ math chinese english;total=chinese+maths

41、+english;cards;王華 F 92 98 86 金一 M 89 96 93趙磊 M 86 90 88 .;PROC print dada=score;run;DATA步PROC步從原始數(shù)據(jù)創(chuàng)建SAS數(shù)據(jù)集:DATA、INPUT、CARDS、“;”;定義變量屬性:LABEL、FORMAT;調(diào)用已有的數(shù)據(jù)集:SET;選擇一部分觀測(cè)創(chuàng)建新的SAS數(shù)據(jù)集:IF OUTPUT、 IFDELETE、WHERE;選擇一部分變量創(chuàng)建新的SAS數(shù)據(jù)集:KEEP、DROP;控制語(yǔ)句:IFTHEN、SELECT、DO;數(shù)據(jù)集的縱向合并:SET;數(shù)據(jù)集的橫向合并:MERGE;賦值語(yǔ)句與累加語(yǔ)句:表達(dá)式。 P

42、ROC步是用PROC開始的SAS語(yǔ)句,是SAS系統(tǒng)進(jìn)行處理和分析數(shù)據(jù)的語(yǔ)句。 PROC步的一般格式為: PROC proc-name ; 過(guò)程語(yǔ)句 ; 過(guò)程語(yǔ)句 ; RUN; 3.3 PROC步3.3.1 SAS過(guò)程步中的常用語(yǔ)句1.PROC語(yǔ)句該語(yǔ)句指定要進(jìn)行的分析方法。其一般格式為:PROC proc-name ;其中: proc-name 表示用戶要調(diào)用的SAS過(guò)程名:對(duì)數(shù)據(jù)集做某種變換的過(guò)程名,如SORT過(guò)程等;所要進(jìn)行的統(tǒng)計(jì)分析方法,如MEANS過(guò)程、REG過(guò)程等。 options規(guī)定此過(guò)程的一個(gè)或幾個(gè)選項(xiàng),多個(gè)選項(xiàng)用空格隔開。例:Proc means data=myclass.sc

43、ore18 maxdec=3 sum mean range;表示系統(tǒng)調(diào)用均值過(guò)程,并計(jì)算數(shù)據(jù)集score18中各數(shù)值變量的和、均值和極差,并保留3位有效小數(shù)。2. 其它過(guò)程語(yǔ)句在PROC語(yǔ)句之后、結(jié)束語(yǔ)句之前可以有若干個(gè)可選的過(guò)程語(yǔ)句,用來(lái)對(duì)PROC語(yǔ)句進(jìn)行具體設(shè)置,主要有: VAR語(yǔ)句:指定分析變量; WHERE語(yǔ)句:指定待分析的觀測(cè)子集; BY語(yǔ)句和CLASS語(yǔ)句:指定分組變量; ID語(yǔ)句:指定標(biāo)識(shí)變量; WEIGHT語(yǔ)句和FREQ語(yǔ)句:指定權(quán)重變量和頻數(shù)變量; MODEL語(yǔ)句:指定模型形式; LABEL語(yǔ)句和FORMAT語(yǔ)句:指定變量標(biāo)簽和輸出格式; OUTPUT語(yǔ)句:指定輸出結(jié)果存放的

44、數(shù)據(jù)集及輸出結(jié)果形式。(1) VAR語(yǔ)句該語(yǔ)句用來(lái)指定分析變量,在VAR后面給出變量列表,各變量名之間用空格隔開。其一般格式為:VAR variable-name-1 variable-name-n ;例:Var weight height; Var x1-x5 y;(2) WHERE語(yǔ)句該語(yǔ)句可以選擇數(shù)據(jù)集的一個(gè)觀測(cè)子集來(lái)進(jìn)行分析。一般格式為: WHERE expression;例:where math=60 and chinese=60;(3) BY語(yǔ)句和CLASS語(yǔ)句BY語(yǔ)句用來(lái)指定一個(gè)或幾個(gè)分組變量,根據(jù)這些分組變量值的不同將觀測(cè)分組,然后對(duì)每一組觀測(cè)分別進(jìn)行本過(guò)程進(jìn)行的分析。!SAS

45、系統(tǒng)要求首先應(yīng)按分組變量進(jìn)行排序。 其一般格式為:BY variable-name-1 variable-name-n;例:假定數(shù)據(jù)集myclass.score18已按變量sex排序,則程序 Proc print data= myclass.score18;by sex;run; 將產(chǎn)生男、女生分開輸出的兩個(gè)數(shù)據(jù)集列表。Class語(yǔ)句同樣表示按指定的變量進(jìn)行分類。與BY語(yǔ)句不同,使用CLASS語(yǔ)句進(jìn)行分類分析,分類變量不需要事先進(jìn)行排序。其一般格式為:CLASS variable-name-1 variable-name-n ;當(dāng)BY語(yǔ)句和CLASS語(yǔ)句同時(shí)使用時(shí),系統(tǒng)首先按BY變量進(jìn)行分組,

46、然后再在每一組中按CLASS變量進(jìn)行分組。BY語(yǔ)句和CLASS語(yǔ)句輸出結(jié)果有差異。例:Proc print data= myclass.score18;class sex;run;(4) ID語(yǔ)句該語(yǔ)句表示用指定的變量來(lái)標(biāo)識(shí)觀測(cè)。在輸出窗口中,系統(tǒng)默認(rèn)用觀測(cè)的序號(hào)來(lái)區(qū)分觀測(cè),當(dāng)使用ID語(yǔ)句時(shí),輸出的觀測(cè)用ID變量的值來(lái)識(shí)別,而觀測(cè)的序號(hào)則不輸出。!ID變量值與觀測(cè)應(yīng)一一對(duì)應(yīng)。其一般格式為:ID variable-name;(5) WEIGHT語(yǔ)句和FREQ語(yǔ)句WEIGHT語(yǔ)句用來(lái)指定權(quán)數(shù)變量,可以用權(quán)數(shù)變量對(duì)其它變量進(jìn)行加權(quán),通常用在每個(gè)觀測(cè)的重要性不同的情形下。該變量值應(yīng)大于0,小于0或缺省

47、時(shí),則取值為0。其一般格式為:WEIGHT variable-name;FREQ語(yǔ)句用來(lái)指定各觀測(cè)出現(xiàn)的頻數(shù)或次數(shù)。若變量的值1或缺省,相應(yīng)的觀測(cè)不參加計(jì)算統(tǒng)計(jì)量;若取值不是正整數(shù),則取整數(shù)部分。其一般格式為:FREQ variable-name;WEIGHT語(yǔ)句與FREQ語(yǔ)句之間的區(qū)別:兩者表示的觀測(cè)次數(shù)不同;兩者計(jì)算結(jié)果可能不同。(6) MODEL語(yǔ)句該語(yǔ)句在統(tǒng)計(jì)建模過(guò)程中指定模型的形式,等號(hào)左邊的變量為因變量,等號(hào)右邊的變量為自變量。其一般格式為:MODEL dependent-variables-name=independent-variables-name ;例:model y=x1

48、-x5; y1 y2=x1 x2 x3 x4 x5;(7) LABEL語(yǔ)句和FORMATLABEL語(yǔ)句為變量指定一個(gè)臨時(shí)標(biāo)簽,F(xiàn)ORMAT語(yǔ)句為變量輸出規(guī)定一個(gè)輸出格式。過(guò)程步中規(guī)定標(biāo)簽和輸出格式只用于此過(guò)程的本次運(yùn)行,而數(shù)據(jù)步中的標(biāo)簽和輸出格式是附屬于數(shù)據(jù)集本身的,是永久的。 proc print data=myclass.score18 label; id name; var math chinese; label name=姓名 math=數(shù)學(xué)成績(jī) chinese=語(yǔ)文成績(jī); format math 5.1 chinese 5.1; run;(8) OUTPUT語(yǔ)句該語(yǔ)句用來(lái)指定輸出結(jié)果

49、存放的數(shù)據(jù)集名以及輸出內(nèi)容在新數(shù)據(jù)集中的名稱。其一般格式為: OUTPUT out=data-set-name keywords= variable-name;其中:“out=”給出輸出結(jié)果數(shù)據(jù)集的名字;“keyword=variable-name” 指定輸出哪些結(jié)果及其在輸出數(shù)據(jù)集中的名字。 proc means data=myclass.score18; var math; output out=result n=n mean=meanmath var=varmath; run; proc print data=result; run;3.3.2. 幾個(gè)常用的SAS過(guò)程1. SORT(排序

50、)過(guò)程SORT過(guò)程將SAS數(shù)據(jù)集按一個(gè)或幾個(gè)變量的次序進(jìn)行排序。其一般格式為: PROC SORT ; BY variable-1 variable-n;其中,指定進(jìn)行排序的數(shù)據(jù)集和輸出的數(shù)據(jù)集的名字:DATA=data-set-name;OUT=data-set-name。BY語(yǔ)句指定排序變量:可同時(shí)指定多個(gè)排序變量;關(guān)鍵詞descending。例:對(duì)數(shù)據(jù)集myclass.score18中的數(shù)據(jù),先按性別升序排序,再按級(jí)降序排序。Proc sort data=myclass.score18 out=paixu;By sex descending grade;Run;Proc print;Ru

51、n;是否可替換為class?2. PRINT(打?。┻^(guò)程該過(guò)程用于輸出SAS數(shù)據(jù)集中的內(nèi)容,以便于檢查數(shù)據(jù)輸入是否正確。其一般格式為: PROC PRINT ; VAR語(yǔ)句; WHERE語(yǔ)句; ID語(yǔ)句; LABEL語(yǔ)句和FORMAT語(yǔ)句; BY語(yǔ)句/CLASS語(yǔ)句; PAGEBY語(yǔ)句; SUM語(yǔ)句 ; TITLE語(yǔ)句和FOOTNOTE語(yǔ)句; (1) PROC PRINT ;該語(yǔ)句是PRINT過(guò)程唯一必需的,options選項(xiàng)有:DATA=data-set-name:指定所要打印的數(shù)據(jù)集,如省略則打印最新生成的SAS數(shù)據(jù)集;N:要求在輸出這個(gè)數(shù)據(jù)集的數(shù)據(jù)列表之后同時(shí)輸出觀測(cè)的個(gè)數(shù)。如果使用BY

52、語(yǔ)句,在每個(gè)BY組的數(shù)據(jù)輸出之后同時(shí)輸出該BY組的觀測(cè)個(gè)數(shù);NOOBS:不輸出觀測(cè)數(shù)據(jù)的序號(hào)。 (2) VAR語(yǔ)句:指定輸出列表中的變量及其順序;(3) WHERE語(yǔ)句:只輸出滿足條件的觀測(cè);(3) ID語(yǔ)句:指定輸出列表中的標(biāo)識(shí)變量;(4) LABEL語(yǔ)句和FORMAT語(yǔ)句:指定輸出變量的標(biāo)簽和格式;(5) BY語(yǔ)句/CLASS語(yǔ)句:指定分類變量,打印輸出時(shí)按分類變量的取值不同分組顯示。proc sort data=myclass.score18;by sex;run;proc print n noobs ; by sex;run; (6) PAGEBY語(yǔ)句:PAGEBY variable;

53、該語(yǔ)句指定分頁(yè)變量,打印輸出時(shí)如果分頁(yè)變量的取值發(fā)生變化則在新的一頁(yè)上輸出。!使用pageby變量必須同時(shí)使用sort過(guò)程,并且pageby變量與sort過(guò)程中的by變量和print過(guò)程中的by變量一致。data sample;input x y z ;Cards;1 1 1 1 2 3 1 7 8 9 5 4 3 4 2 4 5 5 6 6 7 1 4 3 5 6 2; proc sort; by x; run;proc print; by x; pageby x; run; (7) SUM語(yǔ)句:SUM variables; 該語(yǔ)句用來(lái)指定一個(gè)或多個(gè)求和變量。當(dāng)同時(shí)使用BY語(yǔ)句時(shí),求和過(guò)程同

54、時(shí)計(jì)算每組合計(jì)和總和。data sample;input x y z ;Cards;1 1 1 1 2 3 1 7 8 9 5 4 3 4 2 4 5 5 6 6 7 1 4 3 5 6 2;proc sort; by x; run;proc print; by x; sum y z; run; (8) TITLE語(yǔ)句和FOOTNOTE語(yǔ)句:TITLE 標(biāo)題內(nèi)容或FOOTNOTE 腳注內(nèi)容 該語(yǔ)句用來(lái)指定輸出結(jié)果的標(biāo)題和腳注,它們均為全程語(yǔ)句:可以用在DATA步和PROC步內(nèi),也可以單獨(dú)使用;具有持續(xù)性,用沒有內(nèi)容的空title/footnote語(yǔ)句取消指定的標(biāo)題或腳注;proc print

55、data=myclass.score18;title 10級(jí)1班學(xué)生期末成績(jī)表;footnote 2012年3月29日;run;(9) 對(duì)輸出結(jié)果的管理 RESULT(結(jié)果管理窗口):可調(diào)用“view-result”打開;HTML格式輸出:調(diào)用“tools-opitions-preferences”菜單。3.TRANSPOSE(轉(zhuǎn)置)過(guò)程TRANSPOSE過(guò)程把原SAS數(shù)據(jù)集行列互換,轉(zhuǎn)置為一個(gè)新的SAS數(shù)據(jù)集。其一般格式為: PROC TRANSPOSE ; VAR 語(yǔ)句; ID 語(yǔ)句; BY語(yǔ)句; COPY 語(yǔ)句; PROC語(yǔ)句中的內(nèi)容:DATA=data-set-name;OUT=dat

56、a-set-name;PREFIX=name;NAME=name。 VAR語(yǔ)句指定轉(zhuǎn)置變量。 ID語(yǔ)句指定輸入數(shù)據(jù)集中的一個(gè)變量為輸出數(shù)據(jù)集中觀測(cè)的標(biāo)識(shí)變量。 BY語(yǔ)句指定轉(zhuǎn)置的分組變量,分組變量取不同值的數(shù)據(jù)作為一組進(jìn)行轉(zhuǎn)置,但BY 變量本身并不參加轉(zhuǎn)置。COPY語(yǔ)句中列出的所有變量直接輸出,不被轉(zhuǎn)置。 Data A;Input name$20. state$ goods$ employ sale profit;cards;Thomson France Electron 100 11917 2441Farmland Industries U.S. Food 11 4723 3255Chrys

57、ler U.S. Mobiles 128 43600 2551Volkswagen Germany Mobiles 252 46312 1232Nissan Motor Japan Mobiles 143 53760 805Borden U.S. Food 39 6700 6310Mazda Motor Japan Mobiles 33 20279 4541Westinghouse U.S. Electron 102 11564 3260Amerada Hess U.S. Oil 10 5852 2680Peugeot France Mobiles 144 25670 258;Proc sor

58、t out=sortA; by state; run;Proc transpose out=transA;Var state goods employ sale profit;Id name;By state; run;Proc print ;Run;4. MEANS(均值)過(guò)程 MEANS過(guò)程用于計(jì)算變量的基本描述統(tǒng)計(jì)量,可對(duì)均值進(jìn)行假設(shè)檢驗(yàn),也可建立包含若干統(tǒng)計(jì)量的SAS數(shù)據(jù)集。其一般格式為: PROC MEANS ; VAR語(yǔ)句; BY語(yǔ)句/CLASS語(yǔ)句; FREQ語(yǔ)句/ WEIGHT語(yǔ)句; ID語(yǔ)句; OUTPUT語(yǔ)句;PROC MEANS語(yǔ)句 PROC MEANS ; Option

59、s包括的內(nèi)容:DATA =data-set-name; NOPRINT或PRINT;MAXDEC=number;ALPHA=VALUE;數(shù)據(jù)分布的特征集中趨勢(shì) (位置)偏態(tài)和峰態(tài)(形狀)離中趨勢(shì) (分散程度) statistic-keywords包括的描述統(tǒng)計(jì)量: N:觀測(cè)數(shù); NMISS:缺失觀測(cè)數(shù); SUM:變量值和; USS:未修正平方和;CSS:修正平方和;SUMWGT:變量值加權(quán)和; MEAN:均值; STD:標(biāo)準(zhǔn)差; MIN:最小值; MAX:最大值; RANGE:全距; VAR:方差; CV:變異系數(shù); SKEWNESS:偏態(tài)系數(shù); KURTOSIS:峰度系數(shù); T:t統(tǒng)計(jì)量值;

60、 PRT:P值; CLM:均值的置信區(qū)間,其中LCLM為置信下限、UCLM為置信上限。集中趨勢(shì)分布形態(tài)離中趨勢(shì)T檢驗(yàn)例:為了了解某地區(qū)居民家庭收入狀況,現(xiàn)從這一地區(qū)家庭中隨機(jī)抽查了100戶居民,調(diào)查其家庭人均收入,調(diào)查結(jié)果如下(單位:百元):271 396 287 399 466 269 295 330 425 324 228 113 226 176 320 230 404 487 127 74 234 523 164 336 343 330 436 141 388 293 464 200 392 265 403 259 426 262 221 355 324 374 347 261 287

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論