SAS——第12講 合并SAS數(shù)據(jù)集_第1頁
SAS——第12講 合并SAS數(shù)據(jù)集_第2頁
SAS——第12講 合并SAS數(shù)據(jù)集_第3頁
SAS——第12講 合并SAS數(shù)據(jù)集_第4頁
SAS——第12講 合并SAS數(shù)據(jù)集_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、SAS軟件教程(Celon)整理ppt1 合并合并SAS數(shù)據(jù)集數(shù)據(jù)集 “生成生成SASSAS數(shù)據(jù)集數(shù)據(jù)集”介紹了如何從不同來源介紹了如何從不同來源的原始數(shù)據(jù)生成的原始數(shù)據(jù)生成SASSAS數(shù)據(jù)集。數(shù)據(jù)集。 如果我們需要對已存在的如果我們需要對已存在的SASSAS數(shù)據(jù)集進行數(shù)據(jù)集進行加工,如復制數(shù)據(jù)集,對多個數(shù)據(jù)集串接或并加工,如復制數(shù)據(jù)集,對多個數(shù)據(jù)集串接或并接為新的數(shù)據(jù)集,修改數(shù)據(jù)集中的數(shù)值等等,接為新的數(shù)據(jù)集,修改數(shù)據(jù)集中的數(shù)值等等,則可以用本節(jié)將介紹的一些語句來完成這些則可以用本節(jié)將介紹的一些語句來完成這些功能。功能。SAS軟件教程(Celon)整理ppt2AB AB ABSAS 數(shù)據(jù)步數(shù)

2、據(jù)步數(shù)據(jù)串接數(shù)據(jù)串接SAS SAS 數(shù)據(jù)集數(shù)據(jù)集SAS SAS 數(shù)據(jù)集數(shù)據(jù)集數(shù)據(jù)并接數(shù)據(jù)并接SAS軟件教程(Celon)整理ppt3串接串接SASSAS數(shù)據(jù)集數(shù)據(jù)集-簡單連接簡單連接NUM VARA 1 A1 2 A2 5 A3串接(Concantenate)A:B:NUM VARA VARB 1 A1 2 A2 5 A3 3 B1 4 B2 6 B3 COMBINE:NUM VARB 3 B1 4 B2 6 B3把第二個數(shù)據(jù)集把第二個數(shù)據(jù)集B B的觀測串接在第的觀測串接在第一個數(shù)據(jù)集一個數(shù)據(jù)集A A的所的所有觀測后面有觀測后面SAS軟件教程(Celon)整理ppt4NUM VARB 3 B1

3、 4 B2 6 B3串接串接SASSAS數(shù)據(jù)集數(shù)據(jù)集-插入式連接插入式連接NUM VARA 1 A1 2 A2 5 A3串接(Interleave)A:B:NUM VARA VARB 1 A1 2 A2 3 B1 4 B2 5 A3 6 B3 COMBINE:按兩個數(shù)據(jù)集按兩個數(shù)據(jù)集A A和和B B的共同變量的共同變量NUM的值的值排次排次序后串接在一序后串接在一起起SAS軟件教程(Celon)整理ppt5DATA SAS-data-set ; SET SAS-data-set1 SAS-data-set2 . . . ; 其它其它SAS語句語句;RUN; 用用SETSET語句串接語句串接SA

4、SSAS數(shù)據(jù)集數(shù)據(jù)集(Concatenate):SAS軟件教程(Celon)整理ppt6NUM VARA 1 A1 2 A2 5 A3DATA COMBINE; set A B;run;A:B:NUM VARA VARB 1 A1 2 A2 5 A3 3 B1 4 B2 6 B3 COMBINE:NUM VARB 3 B1 4 B2 6 B3(sasLan51.sas)SAS軟件教程(Celon)整理ppt7DATA SAS-data-set ; SET SAS-data-set1 SAS-data-set2 . . . ; BY Variables; 其它其它SAS語句語句;RUN;插入式插

5、入式串接串接SASSAS數(shù)據(jù)集數(shù)據(jù)集 用用SET語句插入式串接語句插入式串接SAS數(shù)據(jù)集數(shù)據(jù)集(Interleave)SAS軟件教程(Celon)整理ppt8NUM VARB 3 B1 4 B2 6 B3插入式插入式串接串接SASSAS數(shù)據(jù)集數(shù)據(jù)集NUM VARA 1 A1 2 A2 5 A3DATA COMBINE; SET A B; BY NUM;run;A:B:NUM VARA VARB 1 A1 2 A2 3 B1 4 B2 5 A3 6 B3 COMBINE:(sasLan52.sas)SAS軟件教程(Celon)整理ppt9 用用PROC SORT語句對語句對SAS數(shù)據(jù)集排序數(shù)據(jù)集

6、排序:PROC SORT DATA=SAS-dat-set1 OUT=SAS-dat-set2; BY by-variables;RUN; 用插入式串接時要求這幾個數(shù)據(jù)集已按用插入式串接時要求這幾個數(shù)據(jù)集已按byby變變量排好序量排好序. .如果還沒有排好序如果還沒有排好序, ,必須先用必須先用SORTSORT過程排序過程排序. .SAS軟件教程(Celon)整理ppt10NUM VAR 1 C1 2 C2 2 C3 3 C4NUM VAR 2 D1 3 D2 3 D3data combine; set C D; by num;run;C:D:NUM VAR 1 C1 2 C2 2 C3 2

7、D1 3 C4 3 D2 3 D3COMBINE:(sasLan53.sas)SAS軟件教程(Celon)整理ppt11并接并接SASSAS數(shù)據(jù)集數(shù)據(jù)集-匹配合并匹配合并 NUM VARA 1 A1 2 A2 3 A3NUM VARB 1 B1 2 B2 4 B3并接(Match Merge)A:B:NUM VARA VARB 1 A1 B1 2 A2 B2 3 A3 4 B3COMBINE:按兩個數(shù)據(jù)集按兩個數(shù)據(jù)集A A和和B B的的共同變量共同變量NUM的相的相同值同值匹配合并匹配合并SAS軟件教程(Celon)整理ppt12并接并接SASSAS數(shù)據(jù)集數(shù)據(jù)集 用用MERGE語句合并語句合并

8、SAS數(shù)據(jù)集數(shù)據(jù)集DATA SAS-data-set; MERGE SAS-data-set1 SAS-data-set2; BY by-variables; 其它其它SAS語句語句;RUN:MERGE SAS-data-set1(In=var) SAS-data-set2(In=var);SAS軟件教程(Celon)整理ppt13 NUM VARA 1 A1 2 A2 3 A3NUM VARB 1 B1 2 B2 4 B3DATA COMBINE; merge A B; by num;run;A:B:NUM VARA VARB 1 A1 B1 2 A2 B2 3 A3 4 B3COMBINE

9、:(sasLan54.sas)SAS軟件教程(Celon)整理ppt14 NUM VARA 1 A1 2 A2 3 A3NUM VARB 2 B1 2 B2 3 B3DATA COMBINE; merge A C; by num;run;A:C:NUM VARA VARB 1 A1 2 A2 B1 2 A2 B2 3 A3 B3COMBINE:(sasLan55.sas)SAS軟件教程(Celon)整理ppt15 合并合并SAS數(shù)據(jù)集數(shù)據(jù)集一些補充一些補充在在DATADATA步中使用步中使用SETSET語句讀入多個數(shù)據(jù)集語句讀入多個數(shù)據(jù)集, ,除除Keep,DropKeep,Drop等一些選項

10、外,還可用選項等一些選項外,還可用選項 IN=IN=來檢測記錄取自哪個數(shù)據(jù)集。來檢測記錄取自哪個數(shù)據(jù)集。一般用法:一般用法: SET . SET . 數(shù)據(jù)集數(shù)據(jù)集k(IN=(IN=變量變量k) . ) . ;這時在這時在PDV(PDV(程序數(shù)據(jù)向量程序數(shù)據(jù)向量) )中產(chǎn)生內部變量中產(chǎn)生內部變量k k:變量變量k =1 =1, 當記錄來自數(shù)據(jù)集當記錄來自數(shù)據(jù)集k ,變量變量k =0, =0, 當記錄來自其它數(shù)據(jù)集當記錄來自其它數(shù)據(jù)集。 SAS軟件教程(Celon)整理ppt16VAR A1 A2VAR B1 B2A:B:data combine; set a(in=ina) b(in=inb);

11、run;_N_ VAR INA INB 1 A1 1 0 2 A2 1 0 3 B1 0 1 4 B2 0 1程序數(shù)據(jù)向量程序數(shù)據(jù)向量 PDV:SAS軟件教程(Celon)整理ppt17DATA COMBINE1; merge A(in=ia) B(in=ib); by num; if ia=1 and ib=1; /* 或或 if ia and ib; */run;例例1:1:合并后保留兩個數(shù)據(jù)集都有數(shù)據(jù)的觀測合并后保留兩個數(shù)據(jù)集都有數(shù)據(jù)的觀測. .例例2:2:合并后只保留第一個數(shù)據(jù)集中的觀測合并后只保留第一個數(shù)據(jù)集中的觀測. .DATA COMBINE; merge A(in=ia) B(

12、in=ib); by num; if ia ; /* 或或 if ia=; */run;(sasLan54.sas)SAS軟件教程(Celon)整理ppt18data mma; input name $ sex$ num ; cards;Farr M 1351Cox F 2512Ruth M 3131Bond M 3551;例例: :臨時變量臨時變量FIRST.var 和和LAST.var. . 在在DATA步步, ,SAS系統(tǒng)對每個系統(tǒng)對每個BY組生成兩個臨時組生成兩個臨時變量變量FIRST.var 和和LAST.var, ,用于區(qū)分每個用于區(qū)分每個BY組中的組中的第一個觀測和最后一個觀測第

13、一個觀測和最后一個觀測. .這兩個臨時變量對這兩個臨時變量對DATA步編程是很有用的步編程是很有用的. .data mmb; input num ; do qtr=1 to 4; input sales ; output; end; cards;1351 10 12 14 202512 . . 10 123131 14 10 10 223551 11 13 14 20;SAS軟件教程(Celon)整理ppt19DATA COMB(drop=qtr sales); merge mma(in=ia) mmB(in=ib); by num; if ia=1 and ib=1; if first.num then salesum=0; salesum+sales; if last.num=1;run; (sasLan56.sas) 數(shù)據(jù)集數(shù)據(jù)集mma包含個變量包含個變量: :名字名字name, ,性別性別sex和和代號代號num; ;數(shù)據(jù)集數(shù)據(jù)集mmb也包含也包含3 3個變量個變量: :代號代號num,季度季度qtr和銷售額和銷售額sales. 要求合并后生成數(shù)據(jù)集要求合并后生成數(shù)據(jù)集comb包含個變量包含個變量:名字名字name, ,性別性別sex,代號代號num

溫馨提示

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

評論

0/150

提交評論