日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAS|数据集合并

發布時間:2024/3/26 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAS|数据集合并 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

縱向合并set

利用set語句實現兩個或多個數據集的縱向合并
在縱向合并中,不管有無共同變量,合并的數據集的數據均會顯示,只不過在set關鍵詞后,哪個數據集在前會有限顯示哪個數據集。

/*練習1: 把文件夾中class1數據和class2數據縱向合并起來*/ data study.class12; set study.class1 study.class2; run; proc print data=study.class12; run; /*ERROR: Variable weight has been defined as both character and numeric.兩個表中的weight是不同類型的變量*/ data study.class12; set study.class1 study.class2(rename=(weight=wweight)); run; proc print data=study.class12; run;

class1

class2

class12

/*練習2: 把文件夾中class1數據和class3數據縱向合并起來,用兩種方式實現(class1和class3互換位置)觀察效果*/ data study.class13; set study.class1 study.class3; run; proc print data=study.class13; run; /*WARNING: Multiple lengths were specified for the variable weight by input data set(s). This can cause truncation of data. WARNING: 輸入數據集為變量“weight”指定了多個長度。這會造成數據截斷。 數據截斷class1中weight比class3的長度短得多*/ data study.class31; set study.class3 study.class1; run; proc print data=study.class31; run;

class3

class31

class13

交叉合并set by

交叉合并需要根據by后面的變量進行排序

橫向合并merge

數據集的橫向合并是通過merge實現的。在無缺失值的觀測中的共同變量顯示merge語句的最后一個數據集的共同變量的值,有缺失值的顯示該變量觀測的共同變量值。

/*練習3: 把文件夾中class1數據和class4數據橫向合并起來*/ data study.class14; merge study.class1 study.class4; run; proc print data=study.class14; run;

class4

class14

匹配合并merge by

數據集的一對一、一對多合并可以利用merge by來實現,數據集會根據by后面的變量進行合同。
在沒有共同變量的情況下,set by的操作結果與merge by的操作結果是相同的。

/*練習4: 把文件夾中class1數據和class4數據橫向合并起來,使得每個受試者的weight和height一一對應*/ data study.class41; merge study.class1 study.class4; by name; run; proc print data=study.class41; run;

class41

總結

以上是生活随笔為你收集整理的SAS|数据集合并的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。