


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第十三課 PROC TRANSPOSE 轉置數(shù)據一、轉置數(shù)據集的概念在對數(shù)據庫的操作中,有時需要把數(shù)據庫的行和列進行交換,也可稱轉置。SAS系統(tǒng)中TRANSPOSE過程能完成對 SAS數(shù)據集的轉置,即把觀測(行)變?yōu)樽兞浚校?,變量變?yōu)?觀測。該過程從讀入的一個數(shù)據集中創(chuàng)建一個新的數(shù)據集。新數(shù)據集中包含三類變量:一是由輸入數(shù)據集中的觀測轉置后創(chuàng)建的新變量,又稱轉置變量,如_NAME_、COL1、COL2、COL3 二是從輸入數(shù)據集中拷貝過來的變量,使用COPY語句定義這個變量,新數(shù)據集中COPY過來的變量與輸入數(shù)據集中的變量具有相同的名字和值三是為了識別新數(shù)據集中每條觀測的來源用ID語句定義
2、的變量值作為新數(shù)據集創(chuàng)建的新變量二、使用PROC TRANSPOSE 過程轉置數(shù)據集1. 用于TRANSPOSE過程的常用語句Proc Tran spose<DATA=輸入數(shù)據集OUT=轉置數(shù)據集 ><選項列表> ;Var變量列表;Id變量;Copy變量列表;Run ;2. 轉置CLASS數(shù)據集例如,在 CLASS數(shù)據集中有變量 NAME、TEST1、TEST2和TEST3,是按每個學生各 課程成績作為一條觀測來組織的,現(xiàn)在我們要創(chuàng)建一個按每門課程各個學生的考試成績作為 一條觀測的新數(shù)據集 NEWCLASS。程序如下:Proc Transpose Data=CLASS
3、Out=NEWCLASS ;VarTEST1 TEST2TEST3 ;Run ;轉置生成的新數(shù)據集NEWCLASS的結果如圖13.1所示。上海財經大學經濟信息管理系IS/SHUFECreated by zxdengJnl2d號 3苗- HTTFUT - CUnti 門詞)gl Filt Elit Vifiw Glob ala Options Window KelpJ XE'H aI 口1劇d團吋糾電I聞OBS12_NAMETE311 TEST2TESTS3 L o- c-CDL4 CQL517'2T Thuirsda,圖13.1 由CLASS轉置生成的新數(shù)據集 NEWCLASS
4、3. 設定新數(shù)據集中的轉置變量名新數(shù)據集中的轉置變量名是可以由用戶自己設定的。通過PROC TRANSPOSE 語句的選項NAME=COURSE ,修改了省缺的新變量名 _NAME_ 為 COURSE還可以通過選項 PREFIX=NO,修改了省缺的新變量名COL1、COL2、COL3、COL4、COL5 為 NO1、NO2、NO3、NO4、NO5如果新變量名 COL1、COL2、COL3、COL4、COL5想用輸入數(shù)據集 CLASS中NAME變量中的對應值來替代,使用ID命令定義NAME即可。這樣命名新變量的優(yōu)點是通過新變量名就可以很容易地識別原數(shù)據集中的觀察行修改程序如下:Proc Tran
5、spose Data=CLASS Out=NEWCLASS Name=COURSE ;Var TEST1 TEST2 TEST3 ;Id Name ;Run ;轉置生成的新數(shù)據集 NEWCLASS的結果如圖13.2所示。上海財經大學經濟信息管理系IS/SHUFECreated by zxdeng號 SAS - 卬VIFUT - Okititled)El Fl16 Edit Vl GlcbkLs Options 壯顯艸 HtlpX|ZJThe SAS SystemCOURSEXIADERZHANGSNUhNGNU17:27 Thur*專day , AuZH肌LIU0 9 90 8 98 146
6、7 69 6 07 770 8 91O 6 003 6 812 3圖13.2使用ID語句轉置生成的新數(shù)據集 NEWCLASSaI qLLs!副吋器I射團訓廳第十四課 另外,還可以在 PROCTRANSPOSE過程中使用COPY語句,在 語句中指定輸入數(shù)據集的某一個(或某幾 個)變量,將直接把輸入數(shù)據集中指定變 量那一列拷貝到新數(shù)據集也成為一列。當 然,這樣操作常會產生輸出數(shù)據集的行和 列數(shù)不匹配,用缺失值填滿。使用FSVIEW過程編輯數(shù)據集我們前面主要用SAS的程序方法來編輯 SAS數(shù)據集。實際上,很多用戶習慣使用 SAS/FSP 軟件的FSVIEW過程來編輯SAS數(shù)據集,這是一種交互式菜單編
7、輯方式,非常方便。例如,在PROGRAM EDITOR 窗口中輸入的程序如下:Proc fsview data=study.survey ;Run ;程序提交后,進入FSVIEW 窗口。用戶仍然可以在命令框中鍵入命令來編輯,如鍵入DROP命令去掉不需要顯示的變量 (投影操作)、WHERE命令獲得子集(選擇操作)及WHERE ALSO命令獲得子集的子集。FSVIEW過程與FSEDIT過程相比,F(xiàn)SVIEW過程更方便,是用 上海財經大學經濟信息管理系IS/SHUFECreated by zxdeng戶最常用的輸入和編輯 SAS數(shù)據集的過程。因為FSVIEW在每一屏顯示盡可能多的觀測,是一種屏編輯;
8、而 FSEDIT在每一屏只顯示一條觀測,是一種行編輯。我們在這里以編輯數(shù)據 集STUDY.SURVEY .DATA為例,簡單介紹幾種最常用的編輯操作。選擇 Edit/Update/Record命令編輯記錄如果選擇了 Edit/Update/Memer命令,則按數(shù)據集的一個個數(shù)據項進行編輯,每按一個 Enter編輯光標跳到下一個數(shù)據項。如果選擇了Edit/Update/Record命令,則按數(shù)據集的一條條記錄進行編輯,每按一個Enter編輯光標跳到下一條記錄。如圖14.3所示是FSVIEW屏編輯窗口。圖14.3 FSVIEW 屏編輯窗口1. 修改指定記錄進入按記錄編輯狀態(tài)后,只要單擊一下所要編輯
9、記錄的行中任意位置,就會出現(xiàn)高反差 的編輯條,移動左右光標到行中某處即可修改。要注意的是,窗口中顯示的是數(shù)據集的輸出 格式,我們在輸入或修改時,一定要按輸入格式進行輸入,否則可能發(fā)生錯誤。上海財經大學經濟信息管理系IS/SHUFECreated by zxdeng2. 刪除指定記錄按上下光標或 Page Up/Page Down鍵可上下移動編輯光標,移到指定行后再按Enter鍵,也會出現(xiàn)高反差的編輯條,只有在出現(xiàn)編輯條時再按工具欄上的Delete按鈕,才能刪除此記錄行。另外一種方法是,選擇Edit/Delete命令后,再輸入需要刪除記錄的OBS編號。需要注意,OBS編號是記錄輸入的順序號,而不
10、是當前記錄的邏輯順序編號。記錄輸入的順序號可 能不連續(xù),原因是斷缺號碼的輸入記錄已經被刪除了。3. 新增一條記錄如果需要新增記錄,選擇Edit/Autoadd命令,將新增一條空白記錄,然后在空白記錄上輸入,按Enter鍵將繼續(xù)新增空白記錄。Edit/Autoadd是一個開關命令,再次選擇此命令將關命令去掉變量的顯示掉新增記錄狀態(tài)。4. 選擇 View/Arrange variables/Drop如果要去掉不需要顯示的變量,例如AGE變量,選擇View/Arra nge variables/Drop命令后將出現(xiàn)如圖14.4所示的輸入框,空白框中輸入數(shù)據集變量名AGE,單擊OK即可。圖14.4 去
11、掉AGE變量選擇 View/Rename 命令更改變量 的名稱如果要更改變量的名稱,例如將NAME變量名更改為ID_NAME 。選擇View/Rename命令 后將出現(xiàn)見圖14.5所示輸入框,輸入被改的變量名 NAME和改為的變量名ID_NAME。單擊 OK改名任務完成。|Renihe兇Rename vaiiable |NAMEto IlDNAMEsCancel圖14.5 更改NAME 變量名為ID_NAME命令重現(xiàn)在在屏幕的窗口中顯BDATE出生年日三、選擇 View/Assign formats/Format新定義變量的輸出格式STUDY .SURVEY數(shù)據集在初始創(chuàng)建時, 我們只考慮了輸
12、入格式, 示的數(shù)據格式是一種系統(tǒng)默認的輸出格式,可能不符合用戶的要求,例如期變量,顯示的是 SAS系統(tǒng)內部的日期存儲值,我們將它改成MMDDYY8.日期輸出格式。選擇View/Assign formats/Format命令后將出現(xiàn)如圖 14.6所示輸入框,在 Enter name of format 輸入框中輸入輸出格式MMDDYY8.,在Enter name of variable(s) to format輸入框中輸入需改變輸出格式的變量名 BDATE。單擊0K修改完成。圖14.6 更改BDATE變量的輸出格式四、選擇Locals/Define formula命令新 增顯示變量假設我們要對STUDY.SURVEY數(shù)據集新增一個TAX顯示變量,它的值可由本條觀測的 其他字段變量中的值經過一定的運算求得,例如TAX=INCOME*10% 。選擇 Locals/Defi neformula命令后就會出現(xiàn)如圖 14.7所示的定義新變量的窗口,在Name中輸入新變量 TAX回車,在Enter the formula below的下面立即出現(xiàn) TAX=,在Type中有數(shù)字 NUMERIC 和字符 CHARACTER兩個選項,我們選擇數(shù)字型變量,定義數(shù)據輸出格式為 9.2,最后輸入變量TAX的賦值公式為INCOME*O.1。單擊OK完成。今后新增一條記錄輸入時,只要在INCOME變
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CCMA 0206-2024混凝土機械液壓平衡閥
- T/CCMA 0203-2024高速清掃車
- 上海小學四年級數(shù)學試題
- 教學研究巴國城一期班組收尾合同4篇
- 合同書樣本勞動合同2篇
- 游泳安全衛(wèi)生常識
- 專業(yè)技術培訓協(xié)議書范本8篇
- T/ZJSEE 0018-2023分布式光伏發(fā)電項目檢測管理規(guī)范
- 貨物運輸合同車隊-3篇
- T/ZJFIA 002-2019浙江玫瑰米醋
- 黃金管理制度
- 2025年貴州盤江精煤股份有限公司招聘筆試參考題庫含答案解析
- 2025年上半年陜西西安市事業(yè)單位招聘高層次及緊缺特殊專業(yè)人才690人重點基礎提升(共500題)附帶答案詳解-1
- 2025年四川涼山道德與法制中考試卷
- 江蘇省淮陰區(qū)2025屆高三下第一次測試數(shù)學試題含解析
- 人工智能賦能教師數(shù)字素養(yǎng)提升
- C919機組培訓-導航系統(tǒng)
- 藥理學知到智慧樹章節(jié)測試課后答案2024年秋哈爾濱商業(yè)大學
- 藥店管理系統(tǒng)
- 音樂治療自閉癥
- 2024ESC心房顫動管理指南解讀
評論
0/150
提交評論