【正文】
當(dāng)然,這樣操作常會產(chǎn)生輸出數(shù)據(jù)集的行和列數(shù)不匹配,用缺失值填滿。 轉(zhuǎn)置生成的新數(shù)據(jù)集 NEWCLASS 的結(jié)果如圖 所示。 圖 由 CLASS 轉(zhuǎn)置生成的新數(shù)據(jù)集 NEWCLASS c72cc4be0bbf221015743448a2d35f94 SAS 系統(tǒng)和數(shù)據(jù)分析 電子商務(wù)系列 上海財經(jīng)大學(xué)經(jīng)濟(jì)信息管理系 IS/SHUFE Created by Page 9 of 9 Id Name 。這樣命名新變量的優(yōu)點(diǎn)是通過新變量名 就可以很容易地識別原數(shù)據(jù)集中的觀察行 修改程序如下: Proc Transpose Data=CLASS Out=NEWCLASS Name=COURSE 。 3. 設(shè)定 新數(shù)據(jù)集中的轉(zhuǎn)置變量名 新數(shù)據(jù)集中的轉(zhuǎn)置變量名是可以由用戶自己設(shè)定的。 Run 。程序如下: Proc Transpose Data=CLASS Out=NEWCLASS 。 Run 。 Id 變量 。新數(shù)據(jù)集中包含三類變量: ? 一是由輸入數(shù)據(jù)集中的觀測轉(zhuǎn)置后創(chuàng)建的新變量,又稱轉(zhuǎn)置變量,如 _NAME_、COL COL COL3…… ? 二是從輸入數(shù)據(jù)集中拷貝過 來的變量,使用 COPY語句定義這個變量,新數(shù)據(jù)集中 COPY過來的變量與輸入數(shù)據(jù)集中的變量具有相同的名字和值 ? 三是為了識別新數(shù)據(jù)集中每條觀測的來源用 ID語句定義的變量值作為新數(shù)據(jù)集創(chuàng)建的新變量 二、 使用 PROC TRANSPOSE 過程轉(zhuǎn)置數(shù)據(jù)集 1. 用于 TRANSPOSE 過程的常用語句 Proc Transpose DATA=輸入數(shù)據(jù)集 OUT=轉(zhuǎn)置數(shù)據(jù)集 選項(xiàng)列表 。 SAS 系統(tǒng)中TRANSPOSE 過程能完成對 SAS 數(shù)據(jù)集的轉(zhuǎn)置,即把觀測(行)變?yōu)樽兞浚校?,變量變?yōu)橛^測。 合并的新數(shù)據(jù)集 SALES 結(jié)果 如圖 所示 。 Proc print data=SALES 。 Merge ORDERS PRODUCTS 。 By P_ID 。 By P_ID 。例如 , 我們有一個 訂 單數(shù)據(jù)集 ORDERS 和一個產(chǎn)品數(shù)據(jù)集 PRODUCTS, 如圖 所示 。如果兩個數(shù)據(jù)集中觀測的關(guān)鍵字值不匹配,輸出所有這些觀測,相應(yīng)的新增變量的值為缺省值。 圖 一對一合并(不帶 BY 語句)后的結(jié)果 O B S C O M M O N X O B S C O M M O N Y1 9801 1 1 9801 42 9802 2 2 9803 63 9803 3D A T A A D A T A B 圖 含有不相同的變量和相同變量不同值的兩個數(shù)據(jù)集 c72cc4be0bbf221015743448a2d35f94