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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

《SAS编程与数据挖掘商业案例》学习笔记之三

發布時間:2023/12/4 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《SAS编程与数据挖掘商业案例》学习笔记之三 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

五:set語句

1.keepdrop指定變量進入或者不進入pdv

eg

Data d1(keep=name)??data??d2 (keep=name sex);

??set sashelp.class(keep=name sex??rename=(name=name_new sex=sex_new)???where=(sex='M')??firstobs=3 obs=5);

Run;

注:

黃色部分標示只有name??sex兩個變量進入pdv,其余變量不會讀入,這樣會大大節省程序運行時間;

紅色部分表示對變量進行重命名

灰色部分代表對變量進行篩選

綠色部分代表從第三個記錄讀到第五個記錄

?

2.關于in?的應用

Data in1;

Set one(in=ina)??two(in=inb);

In_one=ina;

In_two=inb;

Run;

?

一個關于in的應用:

Data in2;

Set one(in=ina)??two(in=inb);

????If??ina=1 then flag=1;

???????else flag=0;

Run;

?

3.nobspoint的應用

?

data nobs;

set fvr.test1?nobs=obs_total;

total=obs_total;

output;

stop;

run;

綠色部分是將觀測數傳送給臨時變量obs_total;

上述語句只會返回數據集的第一條記錄

?

Data point1;

???n=2;

????Set??fvr.test1?point=n;

???Output;

???Stop;

Run;

注:pointnobs一樣,后面都要跟變量,而不能是常量;

Point語句必須與stop語句一起使用,凡是出現point語句必須出現stop語句,否則容易陷入死循環

pointnobs語句是相互獨立的,point語句是在pdv之后,而nobs語句是咋pdv?之前;

下面一個綜合應用(獲取數據集最后一條記錄):

Data nobs_point;

Set fvr.test1 nobs=last??point=last;

Output;

Stop;

Run;

程序解讀:編譯時nobs=對應數據信息(總觀測條數),會傳給last臨時變量;

接下來程序讀入test1進入pdv,讀到point=選項時,數據指針會獲取last的值,指針會直接指向last對應的觀測值,

最后輸出該觀測值;停止data步的執行;

上述方法是獲取數據集最后一條記錄最快速的方法

像下面的語句:

Data zhu;

???set fvr.test1 end=obs_last;

???if obs_last=1;

Run;

顯然這個代碼需要將數據集全部讀入pdv,顯然是不經濟的

?

4.輸出多個數據集;

Data??d1??d2;

???set sashelp.class;

????if _n_ le 10 then output d1;

????else output d2;

Run ;

觀測序號小于或者等于10的輸入到d1,否則到d2

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的《SAS编程与数据挖掘商业案例》学习笔记之三的全部內容,希望文章能夠幫你解決所遇到的問題。

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