SAS應(yīng)用基礎(chǔ)實(shí)驗(yàn)指導(dǎo)手冊_第1頁
SAS應(yīng)用基礎(chǔ)實(shí)驗(yàn)指導(dǎo)手冊_第2頁
SAS應(yīng)用基礎(chǔ)實(shí)驗(yàn)指導(dǎo)手冊_第3頁
SAS應(yīng)用基礎(chǔ)實(shí)驗(yàn)指導(dǎo)手冊_第4頁
SAS應(yīng)用基礎(chǔ)實(shí)驗(yàn)指導(dǎo)手冊_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.實(shí)驗(yàn)一 “SAS基本操作與數(shù)據(jù)集建立、瀏覽”【實(shí)驗(yàn)?zāi)康摹空莆諉覵AS的方法,熟悉常用的操作界面;理解SAS數(shù)據(jù)庫、臨時|永久數(shù)據(jù)集等基本概念,熟練掌握建立數(shù)據(jù)集、瀏覽編輯數(shù)據(jù)集的基本使用方法?!緦?shí)驗(yàn)內(nèi)容之一】輸入下列程序,運(yùn)行并保存在恰當(dāng)?shù)奈募A中:data tmp;input name$ birthday date9. score1 score2 score3 wage comma8.2 percent;cards;zhangsanfen 02-oct-76 78 81 65 1,256.12 0.21lisi 18-jan-75 74 93 65 1,080.5 0.15wangwu

2、14,feb,74 88 90 95 2,040. 0.3xuliu 30/jun/77 75 89 69 980.38 0.12proc print;format birthday monyy7. wage dollar4.2;run;上述程序建立了一個含有姓名、生日、項(xiàng)目13的考核分、工資、加薪比率這些字段的臨時數(shù)據(jù)集tmp。實(shí)驗(yàn)指導(dǎo)有關(guān)知識SAS主界面中有幾個常用的工作窗口:“編輯窗口”用于錄入、編輯程序;“日志窗口”用于顯示SAS系統(tǒng)運(yùn)行信息;“輸出窗口”用于顯示運(yùn)行SAS程序產(chǎn)生的文字輸出結(jié)果;。SAS主界面上有幾個常用的菜單:有關(guān)文件操作的功能都組織在“文件菜單”中,SAS程序的提

3、交運(yùn)行、已運(yùn)行過程序在編輯窗口的重新顯示等功能組織在“運(yùn)行菜單”中;。 【實(shí)驗(yàn)內(nèi)容之二】 試用編程方法和菜單|工具條方式分別建立用戶數(shù)據(jù)庫MyLib和MySas。實(shí)驗(yàn)指導(dǎo)有關(guān)知識SAS主界面中工具條上有“創(chuàng)建新的數(shù)據(jù)庫”工具圖標(biāo),用于指定“庫標(biāo)識”與實(shí)際文件夾之間關(guān)聯(lián)以創(chuàng)建一個邏輯數(shù)據(jù)庫。用libname語句可以創(chuàng)建、取消邏輯數(shù)據(jù)庫。LIBNAME語句的一般用法為:libname 數(shù)據(jù)庫名 引擎 庫位置;libname 數(shù)據(jù)庫名 (庫位置1 庫位置2 );庫位置通常是目錄的全路徑文件名表示;引擎為讀寫數(shù)據(jù)的格式說明,如v8,v6,xport等?!緦?shí)驗(yàn)內(nèi)容之三】有10位同學(xué)的名字、年齡、體重、身

4、高數(shù)據(jù)如下表所示; 試用多種手段將這些數(shù)據(jù)新建為一個存放在MyLib庫下的health永久數(shù)據(jù)集。health數(shù)據(jù)集的內(nèi)容NameAgeWeightHeightTom1040165Mike1142160Jack1046162Brown1041172Lucy1039155Gup1138166Lee946182Mary1039159Kate1137155Vencent1040160將上述程序輸入編輯窗口并運(yùn)行,觀察輸出結(jié)果和日志窗口中的內(nèi)容。實(shí)驗(yàn)指導(dǎo)有關(guān)知識建立SAS數(shù)據(jù)集方法有兩大類:一類是批處理式的,即用編程方法等建立數(shù)據(jù)集;另一類是交互式的,如在viewtable窗、Analyist、INS

5、IGHT等窗口中,交互錄入數(shù)據(jù)?!緦?shí)驗(yàn)內(nèi)容之四】記事本stock.txt中存放有code(證券代碼)、name (證券名稱)、scale (流通盤)、EPS (每股收益)、share (投資組合中所占份額)、price (價格)的數(shù)據(jù)(以空格分隔),將其讀入到SAS 臨時數(shù)據(jù)集stock中。實(shí)驗(yàn)指導(dǎo)有關(guān)知識SAS數(shù)據(jù)步編程的基本結(jié)構(gòu)為:data 數(shù)據(jù)集名;infile '文本格式數(shù)據(jù)的路徑文件名'input 變量名表;run;data 數(shù)據(jù)集名;input 變量名表;cards;原始數(shù)據(jù)源run;結(jié)構(gòu)1結(jié)構(gòu)2input語句用于建立數(shù)據(jù)集的變量并從源數(shù)據(jù)中讀入變量值;若建立的變量

6、為字符型,則在變量名后帶上美圓號$?!緦?shí)驗(yàn)內(nèi)容之五】 試著將SAS數(shù)據(jù)集stock中的數(shù)據(jù)導(dǎo)出到Excel 表格stock.xls中。實(shí)驗(yàn)指導(dǎo)有關(guān)知識在FILE菜單中的IMPORT DATA和EXPORT DATA子菜單可實(shí)現(xiàn)一些常見數(shù)據(jù)格式的數(shù)據(jù)文件與SAS數(shù)據(jù)集之間的轉(zhuǎn)換。實(shí)驗(yàn)二 “通過編程建立SAS數(shù)據(jù)集(1)”【實(shí)驗(yàn)?zāi)康摹炕菊莆站幊探AS數(shù)據(jù)集的方法,熟練運(yùn)用input語句的4種基本輸入模式以及混合模式。【實(shí)驗(yàn)內(nèi)容之一】有一個文本格式數(shù)據(jù)文件ex21.dat,其每行數(shù)據(jù)中含有工號(id)占前5位、姓名(Name)從第7-14位、部門號(dep)占據(jù)第1-2位、體重 (weight

7、)占據(jù)第16-19位,其部分?jǐn)?shù)據(jù)如下:13011 zhangsan 52.802021 wangwuzi 64.310005 xuxiake 55.0試用列輸入模式將其讀入從而建立數(shù)據(jù)集dem21。實(shí)驗(yàn)指導(dǎo)有關(guān)知識對數(shù)據(jù)字段位置固定的源數(shù)據(jù),用input語句讀入數(shù)據(jù)時,可按列模式輸入,其一般形式為:input 變量名1$ 開始列數(shù)-結(jié)束列數(shù) 變量名2 ;【實(shí)驗(yàn)內(nèi)容之二】有一個文本格式數(shù)據(jù)文件ex22.dat,其內(nèi)各行依次含有id (工號)、birthday (生日)、marryday (結(jié)婚紀(jì)念日)、salaray (薪水)四變量,其部分?jǐn)?shù)據(jù)如下:100 07:31:68 31jul98 $2

8、1,456.20101 07/21/67 21jul97 $30,234.85102 05-22-66 22may96 $15,876.試用格式化輸入模式將其讀入從而建立數(shù)據(jù)集dem22。實(shí)驗(yàn)指導(dǎo)有關(guān)知識對數(shù)據(jù)字段位置固定的源數(shù)據(jù),也可以采用格式化的輸入模式更靈活地建立SAS數(shù)據(jù)集。一般形式:input 指針控制 變量名 輸入格式名 ;適用范圍:源文件中各變量所在位置必須是規(guī)則的(字段寬度固定);可用指針控制變量讀入的始點(diǎn),終點(diǎn)由輸入格式確定;每個變量按輸入格式讀入指定的長度;該模式特點(diǎn)與列模式基本類似,但可讀入多種格式的數(shù)值字段,尤其在輸入日期型數(shù)據(jù)時應(yīng)使用該模式?!緦?shí)驗(yàn)內(nèi)容之三】有一個文本

9、格式數(shù)據(jù)文件ex23.dat,其內(nèi)各行依次含有id (學(xué)號)、name(姓名)、age (年齡)、score (成績)四類數(shù)據(jù),彼此間空格分隔,其部分?jǐn)?shù)據(jù)如下:021496001 張三豐 21 596012256021 司馬相如 22 612991034099 王小二 25 498試用列表輸入模式將數(shù)據(jù)讀入從而建立數(shù)據(jù)集dem23。實(shí)驗(yàn)指導(dǎo)有關(guān)知識對分隔符(通常為空格)固定的數(shù)據(jù)源,可以采用自由列表模式輸入數(shù)據(jù)。一般形式為:input 變量名$ ; /*變量長度默認(rèn)8,超過會截?cái)?/其中,變量名指明數(shù)據(jù)集中要建立的變量,它們出現(xiàn)的順序必須與數(shù)據(jù)源中的數(shù)據(jù)字段順序匹配。一般情況下,變量的長度默認(rèn)

10、為8個字節(jié),這對字符型變量而言,只能存放8個字符(4個漢字)。length語句可改變變量的長度屬性,一般形式為:length 變量名表$ 長度. ;另外,為突破變量的默認(rèn)長度限制,也可以在列表輸入模式中還可以加入輸入格式修飾說明,一般形式為:input 變量名:$ 輸入格式. ;【實(shí)驗(yàn)內(nèi)容之四】通過DATA步內(nèi)編程來建立一個由姓名(name)、學(xué)號(id)、生日(birthday)、性別(sex)、總分(score)組成的SAS數(shù)據(jù)集,并輸出數(shù)據(jù)集。原始數(shù)據(jù)(不能改變其格式)部分如下:喬本鬼太狼 84/09/01 601.8 id=001 sex=男龜田次一郎 82/12/23 588.7 i

11、d=002 sex=男山本美智子 87/01/18 623.3 id=003 sex=女張美萍 85/04/30 589.6 id=018 sex=女王曉剛 84/09/11 578 id=021 sex=男楊英 82/11/19 587.9 id=034 sex=女實(shí)驗(yàn)指導(dǎo)有關(guān)知識當(dāng)源數(shù)據(jù)文件中的數(shù)據(jù)字段里包含字段名時,往往需要采用命名模式輸入較為方便。一般形式為:INPUT 指針 變量名=$ . |;INPUT 變量名= $ 始列 -終列 .小數(shù)位 |;INPUT 指針 變量名=informat. |;對一些復(fù)雜的非標(biāo)準(zhǔn)的源數(shù)據(jù)文件,各數(shù)據(jù)字段需要不同的讀入模式才能正確匹配,這時可在inp

12、ut語句中混合使用各種讀入模式。但注意,在混合模式中,命名模式必須出現(xiàn)在最后?!緦?shí)驗(yàn)內(nèi)容之五】上題中如要計(jì)算每人的年齡(age),應(yīng)如何修改程序?實(shí)驗(yàn)指導(dǎo)有關(guān)知識利用date()、time()等函數(shù)獲取系統(tǒng)日期和時間。例如:dt=date(); te=time();也能利用sysdate、systime系統(tǒng)宏變量獲取日期時間。例如:dd="&sysdate"d; tt="&systime"t;用SAS函數(shù)INTCK(int,from,to)可以計(jì)算from到to兩個日期之間的間隔數(shù)int,當(dāng)int取“year”時,則計(jì)算的是間隔年份。實(shí)驗(yàn)

13、三 “SAS數(shù)據(jù)步編程建立數(shù)據(jù)集(2)”【實(shí)驗(yàn)?zāi)康摹磕芫C合運(yùn)用數(shù)據(jù)步編程的各種輸入模式以及SAS函數(shù),較熟練地將非規(guī)則的原始數(shù)據(jù)、多種數(shù)據(jù)格式準(zhǔn)確地讀入SAS數(shù)據(jù)集;熟悉常用的SAS函數(shù),如系統(tǒng)日期時間函數(shù)、隨機(jī)數(shù)發(fā)生器函數(shù)、對數(shù)/指數(shù)/三角/求和/差分等數(shù)學(xué)函數(shù)。【實(shí)驗(yàn)內(nèi)容之一】編輯程序計(jì)算1989 年5 月1 日('01MAY89'd)與2000 年7 月1 日('01JUL00'd)之間相隔的天數(shù),并輸出在日志窗中。實(shí)驗(yàn)指導(dǎo)有關(guān)知識用SAS函數(shù)INTCK(int,from,to)可以計(jì)算from到to兩個日期之間的間隔數(shù)int,當(dāng)int取“day”時,則計(jì)

14、算的是間隔天數(shù)。日期常數(shù)可用'ddmmmyy'd形式表示,其中ddmmmyy是date7格式的數(shù)據(jù)?!緦?shí)驗(yàn)內(nèi)容之二】用金融函數(shù)(終值=compound(初值,.,復(fù)利率,期數(shù)); 復(fù)利率=compound(初值, 終值,.,期數(shù));)計(jì)算在1980年7月1日存入1000元,年利率為1.25%,到2000年7月1日的終值,并輸出在日志窗中;若要在20年內(nèi)獲得本利和共2000,則年復(fù)利率應(yīng)達(dá)到多少?實(shí)驗(yàn)指導(dǎo)有關(guān)知識用SAS金融函數(shù)compound 可以計(jì)算資金的終值或利率。一般使用格式為:終值=compound(初值,.,復(fù)利率,期數(shù)); 復(fù)利率=compound(初值, 終值,.

15、,期數(shù));【實(shí)驗(yàn)內(nèi)容之三】要建立一個含變量課程(course)、教師(teacher)、學(xué)生(student)、學(xué)號(id)、成績(score)的數(shù)據(jù)集。根據(jù)原始數(shù)據(jù)的2種不同情況,請分別編程:Math LiMingWangFang 1501 95English ZhangJunGeMing 1543 89Chinese ChenHongHeFei 1628 84:Statistics YangHuiWangFang 1501 95GeMing 1543 89HeFei 1628 84。實(shí)驗(yàn)指導(dǎo)有關(guān)知識RETAIN語句使其中的變量為保留變量,即在數(shù)據(jù)步的每次循環(huán)時,不被重新初始化。(有點(diǎn)類似C

16、中的靜態(tài)變量。) 使用格式:RETAIN 變量名1 初值1 變量2初值2; 或: RETAIN 變量名表 (初值表);SAS數(shù)據(jù)步循環(huán)執(zhí)行的次數(shù)被動態(tài)地保存在SAS預(yù)定義的變量 _n_ 中。使用if語句能實(shí)現(xiàn)有條件的執(zhí)行某些SAS語句,一般使用形式為:IF 表達(dá)式 THEN 語句1;ELSE 語句2;注意:如果THEN或ELSE后需要一組語句時,可放在“DO;”和“END;”語句之間。算法思路(僅供參考,不是唯一的方法)第一種情況:在數(shù)據(jù)步內(nèi)連續(xù)用兩個input語句即可。第二種情況:在數(shù)據(jù)步內(nèi)設(shè)置course、teacher變量為保留變量;首先僅當(dāng)數(shù)據(jù)步循環(huán)在第一輪執(zhí)行時,用input語句讀入

17、course、teacher的數(shù)據(jù);隨后對數(shù)據(jù)步每次循環(huán)都用input語句讀入student、id、score的數(shù)據(jù)?!緦?shí)驗(yàn)內(nèi)容之四】使用隨機(jī)數(shù)函數(shù)生成服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)100個,存放在數(shù)據(jù)集Norm內(nèi)。實(shí)驗(yàn)指導(dǎo)有關(guān)知識SAS函數(shù)rannor(0)返回服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)。【實(shí)驗(yàn)內(nèi)容之五】在外部數(shù)據(jù)文件consume.dat(純文本格式)中存放有A、B兩市郊區(qū)若干期的人均消費(fèi)額的數(shù)據(jù),具體內(nèi)容如下(注意:原文一字不差):Acity 3186 2775 1913 1536 2318 2254 1948 2131 3261 2066 3389 1961 2468 1853 2411 18

18、64 1908 2524 2816 1668Bcity 994 1362 1176 1525 1441 1077 1847 1990 1221 862 1045 1379 1128 1182 3124 1769 2130 1096 1926 1408試用數(shù)據(jù)步編程建立變量為“城市名稱(city)”、“人均消費(fèi)(consume)”的SAS數(shù)據(jù)集。實(shí)驗(yàn)指導(dǎo)有關(guān)知識同【實(shí)驗(yàn)內(nèi)容之三】。算法思路(僅供參考,不是唯一的方法)在數(shù)據(jù)步循環(huán)內(nèi),首先用input讀入臨時變量tmp的值;設(shè)置保留變量city;給變量consume賦初值0;接著判斷tmp的值是否為"Acity" 或"

19、Bcity",如是則令city=tmp,如不是,則令consume=tmp,并將PDV緩沖器的內(nèi)容輸出到數(shù)據(jù)集而成為一條記錄。【實(shí)驗(yàn)內(nèi)容之六】用下列程序可建立某班學(xué)生學(xué)號num、班別代號code的數(shù)據(jù)集:data chance;input num ;code=A01;cards;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2526 2728 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50proc print noobs;

20、run;現(xiàn)在想在該班上以0.1的概率隨機(jī)選代表參加校學(xué)代會,請?jiān)O(shè)法修改上述程序,進(jìn)行隨機(jī)挑選,并使數(shù)據(jù)集chance中再增加一個列變量存放每人被挑選的結(jié)果。實(shí)驗(yàn)指導(dǎo)有關(guān)知識SAS函數(shù)ranuni(0)將返回服從0,1均勻分布的隨機(jī)數(shù)(模擬服從0,1均勻分布的隨機(jī)變量)。若XU0,1(0,1均勻分布)則PX<0.1=0.1,即事件“ranuni(0)<0.1”的概率為0.1。算法思路(僅供參考,不是唯一的方法)利用數(shù)據(jù)步循環(huán),在每次讀數(shù)據(jù)后,“扔”一次隨機(jī)數(shù),觀測是否發(fā)生概率為0.1的隨機(jī)事件,若發(fā)生了,則輸出觀測號(或做個標(biāo)記,如設(shè)變量flag=1)。【實(shí)驗(yàn)結(jié)果】見附件chance

21、數(shù)據(jù)集文件。(略)【實(shí)驗(yàn)內(nèi)容之七】有一份時間序列數(shù)據(jù)在文本文件price.txt內(nèi),它含日期time、報(bào)價price兩數(shù)據(jù)字段,部分?jǐn)?shù)據(jù)如下:19800123 16.919800223 16.419800323 16.319800423 16.519800523 16.719800623 16.919800723 17.019800823 17.219800923 17.519801023 17.419801123 17.619801223 17.7試建立一份SAS數(shù)據(jù)集,內(nèi)含變量time、price外,還有price的一階差分pdf、二階差分p2df以及間隔3個時間單位的price差分pdf

22、3。實(shí)驗(yàn)指導(dǎo)有關(guān)知識利用SAS函數(shù)dif(price)將返回變量price的一階(間隔一期的)差分,用difn(price) 將返回變量price的一階(間隔n期的)差分;要獲得高階差分,可嵌套使用diff函數(shù)。實(shí)驗(yàn)四 “SAS數(shù)據(jù)加工管理(1)”【實(shí)驗(yàn)?zāi)康摹空莆誗AS數(shù)據(jù)集抽取、變量運(yùn)算、拼接、合并、排序等常用的數(shù)據(jù)加工方法【實(shí)驗(yàn)內(nèi)容之一】將SCORE數(shù)據(jù)集中女生的記錄內(nèi)容復(fù)制到一個臨時數(shù)據(jù)集test。實(shí)驗(yàn)指導(dǎo)有關(guān)知識數(shù)據(jù)集選項(xiàng)where=(條件)可以將數(shù)據(jù)集中滿足條件的觀測篩選出,如:data test(where=(name='張三');可以篩選出name='張三

23、'的觀測。當(dāng)然用if語句、where語句也可完成對記錄的篩選。利用數(shù)據(jù)步過程的SET語句,可以從一個已存在的數(shù)據(jù)集中依次讀入每一個觀察值。對數(shù)據(jù)作某種處理后,寫入數(shù)據(jù)集?!緦?shí)驗(yàn)內(nèi)容之二】將GPA數(shù)據(jù)集中的記錄按照gpa的高低拆分到3個不同的數(shù)據(jù)集:gpa大于等于5的到good數(shù)據(jù)集,gpa在4和5之間的到normal數(shù)據(jù)集,gpa在4 以下的到bad 數(shù)據(jù)集。實(shí)驗(yàn)指導(dǎo)有關(guān)知識在數(shù)據(jù)步中語句OUTPUT 數(shù)據(jù)集名;能將當(dāng)前觀測寫入指定的數(shù)據(jù)集?!緦?shí)驗(yàn)內(nèi)容之三】用數(shù)據(jù)步編程將數(shù)據(jù)集test1與test2按NUMBER順序拼接成新數(shù)據(jù)集test。test1中數(shù)據(jù)為:930101王亞平男05/

24、13/7521590.0950207李小麗女05/21/7719595.0950202吳元元女08/20/7719555.5940203馬小平男12/12/7620576.0test2中數(shù)據(jù)為:940104趙南飛男10/15/7620580.0930105洪燕峰男01/05/7521589.5950106周緬女01/30/7818566.0實(shí)驗(yàn)指導(dǎo)有關(guān)知識SORT過程可將數(shù)據(jù)集的觀測值按一個或多個變量值進(jìn)行排序,以便其它的SAS過程利用BY語句對其進(jìn)行分組處理。排序后的觀測值存放在一個新的SAS數(shù)據(jù)集中或替代原數(shù)據(jù)集。過程格式: PROC SORT 選項(xiàng); BY DESCENDING 變量1

25、DESCENDING 變量n; RUN;利用數(shù)據(jù)步過程的的SET語句可以實(shí)現(xiàn)若干個數(shù)據(jù)集的拼接(縱向連接),形成新的一個大數(shù)據(jù)集。語法格式為:SET 數(shù)據(jù)集1 (數(shù)據(jù)集選項(xiàng)1) 數(shù)據(jù)集n (數(shù)據(jù)集選項(xiàng)n);【實(shí)驗(yàn)內(nèi)容之四】試對GPA數(shù)據(jù)集中的觀測按變量SATV(降序)以及SEX(升序)的值排序,排序后的數(shù)據(jù)寸在數(shù)據(jù)集gtmp中。在gtmp中通過計(jì)算變量SATM的常用對數(shù),生成新變量SATMLOG。實(shí)驗(yàn)指導(dǎo)有關(guān)知識在數(shù)據(jù)步內(nèi)可以通過賦值語句將已有數(shù)據(jù)經(jīng)計(jì)算等處理生成出新的變量。SAS函數(shù)log(變量)、log10(變量)可以計(jì)算變量的自然對數(shù)和常用對數(shù)?!緦?shí)驗(yàn)內(nèi)容之五】建立數(shù)據(jù)集old1(ID、

26、NAME、AGE)和old2(ID、SCORE),然后通過數(shù)據(jù)步編程將old1、old2合并成數(shù)據(jù)集xsfs,要求觀測能合理地匹配合并。old1數(shù)據(jù):930101王亞平23950207李小麗21950202吳元元22940203馬小平19940104趙南飛21930105洪燕峰20950106周緬21old2數(shù)據(jù):940104 510940203 480930105 998930101 890950106 903950202 840實(shí)驗(yàn)指導(dǎo)有關(guān)知識要將數(shù)據(jù)集合并(橫向連接)為一個擁有各數(shù)據(jù)集中變量的新數(shù)據(jù)集,可用DATA過程的MERGE語句來實(shí)現(xiàn)。MERGE語句的基本語法格式為:MERGE 數(shù)

27、據(jù)集表;該語句能將數(shù)據(jù)集表指定那些數(shù)據(jù)集(最多可達(dá)40個數(shù)據(jù)集)中同樣觀測序號的觀測值合并成一個觀測值,新數(shù)據(jù)集中的觀測數(shù)為各原數(shù)據(jù)集中觀測數(shù)最大值。若原有數(shù)據(jù)集中有同名變量,則在新數(shù)據(jù)集中僅出現(xiàn)一次。該語句與BY語句配合,可以將具有共同變量且已按此變量排序過的那些數(shù)據(jù)集進(jìn)行匹配合并。實(shí)驗(yàn)五 “SAS數(shù)據(jù)加工管理(2)”【實(shí)驗(yàn)?zāi)康摹空莆誗AS數(shù)據(jù)集抽取、更新、轉(zhuǎn)置、觀測分組等常用的數(shù)據(jù)加工方法以及結(jié)構(gòu)化查詢的方法?!緦?shí)驗(yàn)內(nèi)容之一】試將數(shù)據(jù)集SASHELP.workers第10到66條觀測中滿足條件"ELECTRIC>260"的觀測提取出來,生成新的數(shù)據(jù)集tmp。實(shí)驗(yàn)指

28、導(dǎo)有關(guān)知識用數(shù)據(jù)集選項(xiàng)(數(shù)據(jù)集名后圓括號內(nèi)的選項(xiàng))firstobs=n obs=m可以從數(shù)據(jù)集中挑選出第n條到第m條記錄供數(shù)據(jù)步處理。用if語句、where語句可對記錄進(jìn)行條件篩選?!緦?shí)驗(yàn)內(nèi)容之二】在上題生成的數(shù)據(jù)集tmp中刪除變量DATE中年份為八十年代的觀測,以及刪除變量ELECTRIC。實(shí)驗(yàn)指導(dǎo)有關(guān)知識可用數(shù)據(jù)集選項(xiàng)DROP=變量名表、KEEP=變量名表來刪除或保留原有的一些變量,這樣的任務(wù)也可有drop和keep語句來實(shí)現(xiàn)。要刪除記錄可用delete語句?!緦?shí)驗(yàn)內(nèi)容之三】請用數(shù)據(jù)集fix中的數(shù)據(jù)去更新數(shù)據(jù)集xsfs(見實(shí)驗(yàn)四)。其中fix中數(shù)據(jù)為:950207李小麗21 5009501

29、06周緬21 640實(shí)驗(yàn)指導(dǎo)有關(guān)知識要用一個數(shù)據(jù)集的觀測值對另一個數(shù)據(jù)集進(jìn)行批量修改,可用數(shù)據(jù)步過程的UPDATE語句來完成。其語法格式為:UPDATE 主數(shù)據(jù)集 (IN=變量名) 修正數(shù)據(jù)集 (IN=變量名) (END=變量名);注意:要正確進(jìn)行批量修正,UPDATE通常總是與BY語句配合使用,因而預(yù)先應(yīng)將兩數(shù)據(jù)集排序?!緦?shí)驗(yàn)內(nèi)容之四】請將數(shù)據(jù)集xsfs轉(zhuǎn)置為數(shù)據(jù)集tmp實(shí)驗(yàn)指導(dǎo)有關(guān)知識利用TRANSPOSE過程可將SAS數(shù)據(jù)集轉(zhuǎn)置,使新數(shù)據(jù)集中的變量對應(yīng)原數(shù)據(jù)集的觀察,而新數(shù)據(jù)集的觀察對應(yīng)原數(shù)據(jù)集的變量。該過程通常的使用格式為:PROC TRANSPOSE 選項(xiàng);VAR 變量表;ID 變量

30、;IDLABEL 變量;COPY 變量表;BY 變量表;RUN;【實(shí)驗(yàn)內(nèi)容之五】在數(shù)據(jù)集student(變量:name,id,sex)、chengji(變量:id,kno,score)、kecheng(變量:kno,kname)中用SQL窗查詢滿足條件成績大于85分的學(xué)生姓名(name)、課程名(kname)、成績(score)記錄數(shù)據(jù),并將查詢結(jié)果生成SAS數(shù)據(jù)集report。實(shí)驗(yàn)指導(dǎo)有關(guān)知識結(jié)構(gòu)化查詢語言SQL過程是一種在關(guān)系型數(shù)據(jù)庫中廣泛使用的標(biāo)準(zhǔn)查詢語言,SAS系統(tǒng)使用PROC SQL過程實(shí)現(xiàn)對SQL的支持。SQL過程的基本格式:PROC SQL 選項(xiàng)表; ALTER TABLE al

31、ter語句說明項(xiàng); CREATE create語句說明項(xiàng); DISCRIBE discribe語句說明項(xiàng); DROP drop語句說明項(xiàng); INSERT insert語句說明項(xiàng); RESET 選項(xiàng)表; SELECT select語句說明項(xiàng); UPDATE update語句說明項(xiàng); VALIDATE validate語句說明項(xiàng); CONNECT TO DBMS名 AS 別名 選項(xiàng)表; DISCONNECT FROM DBMS名|別名; EXECUTE (SQL語句) BY DBMS名|別名;RUN;在SAS中,可以用查詢器來完成對數(shù)據(jù)集的SQL查詢操作,只要單擊菜單項(xiàng)“Globals=>Access=>Query”即可打開SQL查詢表窗口,進(jìn)行數(shù)據(jù)查詢?!緦?shí)驗(yàn)內(nèi)容之六】用SQL窗查找出GPA數(shù)據(jù)集中g(shù)pa大于5的所有記錄并且計(jì)算出它們的gpa的平均值實(shí)驗(yàn)指導(dǎo)有關(guān)知識同上。實(shí)驗(yàn)六“數(shù)據(jù)步編程綜合練習(xí)”【實(shí)驗(yàn)?zāi)康摹烤C合運(yùn)用SAS數(shù)據(jù)步方法,結(jié)合概率統(tǒng)計(jì)常識,解決一些簡單的實(shí)際問題。希望通過實(shí)驗(yàn)練習(xí),對SAS數(shù)據(jù)步編程的有關(guān)重點(diǎn)、難點(diǎn)有較深刻的認(rèn)識?!緦?shí)驗(yàn)內(nèi)容之一】已知一個數(shù)據(jù)集a中有五個變量x1-x5,且只有一個觀測,其值為2,5,7,3,1?,F(xiàn)將a數(shù)據(jù)集擴(kuò)充成10

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論