• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            SAS編程基礎(2):常用數據步與過程步

            更新時間:2023-12-06 16:51:24 閱讀: 評論:0

            2023年12月6日發(作者:范家大院)

            -

            SAS編程基礎(2):常用數據步與過程步

            SAS編程基礎(2):常用數據步與過程步

            /*

            2018/11/29 SAS開發學習 常用語法及關鍵字

            數據集合并:merge t

            排序:proc sort

            轉置:proc transpo

            寫sql語句:proc sql

            頻數統計:proc freq

            proc hpsummary

            統計分析:proc means

            proc univariate

            proc logistic

            */

            /* 數據步與過程步

            /

            /

            數據步 讀取處理數據

            常用關鍵字

            data 創建數據集 <參數選項>

            SAS 處理數據集語句

            run; 結束

            t

            merge

            */

            data students (keep=name x class address);

            length address $30;

            input id name $ x $ class address;

            cards;

            1001 高溪紅 F 1 衡陽神龍大酒店

            1002 張明明 M 2 北京市東城區

            ;

            run;

            /* data 數據步 及過濾 */

            libname jx “d:jx”;

            %let dir=“d:”;

            filename fil “(&dir)”;

            data _bj ;

            infile fil;

            input zone $ open_count city $;

            if city in (“北京”, “青島”) then output _bj;

            el output ;

            run;

            libname jx “d:jx”;

            %let dir=“d:”;

            filename fil “(&dir)”;

            data cust;

            infile fil;

            input zone $ open_count city $;

            run;

            data

            t cust (where=(city in (“北京”, “青島”);

            run;

            /* t語句

            /data stu;

            t student (keep=name x address obs=1);

            run;

            /

            t以及過濾

            /

            data stu;

            t student (keep=name x address);

            if x=“F”;

            run;

            /

            merge 語句 將兩個或多個數據集進行橫向合并

            語法: MERGE <數據集1> <選項> <數據集2> <選項>

            常用選項: keep drop rename where in

            一對一合并和匹配合并

            /

            data inf_stu;

            length address $30;

            input id name $ x $ class address;

            cards;

            1001 ltf M 01 湖南省衡陽市

            1002 hch F 02 湖南省長沙市

            ;

            run;

            data score_stu;

            input id score;

            cards;

            1001 99

            1002 100

            ;

            run;

            proc sort data=inf_stu;

            by id;

            run;

            proc sort data=score_stu;

            by id;

            run;

            data inf_score (keep=id name score);

            merge inf_stu score_stu;

            by id;

            run;

            /

            查找兩個數據集中相同的數據 byid

            data inf_score (keep=id name score);

            merge inf_stu(in=a) score_stu(in=b);

            if a and b;

            by id;

            run;

            查找兩個數據集中不同的數據 byid

            data inf_score (keep=id name score);

            merge inf_stu(in=a) score_stu(in=b);

            if ^a and b;

            by id;

            run;

            *//* 數據集應用案列

            /

            /

            數據集條件過濾

            取數據

            刪數據

            */

            %let dir=“d:”;

            filename fil “(&dir)”;

            libname jx “d:jx”;

            data 138;

            infile fil dsd missover;

            input @20 card_type $3. @;

            if card_type=“138” then do;

            input @1 qh $3.

            @4 card_nm $16.

            @23 name $8.

            @31 address :$20.

            ;

            ouput 138;

            end;

            run;

            %let dir=“d:”;

            filename fil “(&dir)”;

            libname jx “d:jx”;

            data 138;

            infile fil dsd missover;

            input @20 card_type $3. @;

            if card_type=“138” then delete;

            if card_type^=“138” then do;

            input @1 qh $3.

            @4 card_nm $16.

            @23 name $8.

            @31 address :$20.

            ;

            ouput 138;

            end;

            run;

            /* 宏過程 %macro 其實就相當于定義函數 */

            %let dir=“d:jxinf_”;

            filename sj “(&dir)”;

            libname csj “d:jx”;

            %macro loadfile(v_lib);

            data &v__custer;

            infile sj firstobs=2 end=final length=length;

            input @1 qh $3.

            @4 card_nm $16.

            @20 card_type $3.

            @23 name $8.

            @31 address :$20.

            ;

            run;

            %mend;

            %%loadfile(csj.);/* 使用宏變量 進行模糊查詢

            /

            data city_inf;

            length city $30.;

            input id city $;

            cards;

            1001 上海市南京路

            1002 北京西城區

            1003 上海市浦東區

            1004 天津濱海新區

            1005 北京東城區

            1006 山東濟寧

            1007 山東濟南

            1008 北京市豐臺區

            ;

            run;

            /

            通過宏實現模糊查詢 1.多參數 2.條件語句

            /

            %macro indexs/PARMBUFF; /

            parambyff 可接受多個參數

            /

            %local num dsname; /

            局部變量 定義局部變量

            /

            %let num=2;

            %let dsname=%scan(&syspbuff, &num);

            /

            parabuff 信息傳遞到 dsname scan函數實現查找功能 這里把num=2 第二個變量開始查找 */

            %do %while(%quote(&dsname) ne %quote());

            %if &name>2 %then %do;

            or

            %end;

            index(%scan(&syspbuff, 1), “&dsname”)>0

            %let num=%eval(&num+1);

            %let dsname=%scan(&syspbuff, &num);

            %end;

            %mend;

            data city;

            t city_inf;

            where %indexes(city, 北京, 上海, 山東);

            run;

            proc print data=city;

            run;

            /* call 子程序數據步應用 */

            %macro callpro(v_param);

            data null;

            x=“we”;

            z=&v_param;

            call symput(“v_var”, x);

            %mend callpro;

            %callpro(1);

            run;

            data temp;

            y="&v_var";

            run;

            proc print data=temp;

            run;

            /* 數據集輸出應用

            1. 數據集輸出到臨時邏輯庫 sas默認是work邏輯庫 work可以省略

            2. 數據集輸出到永久邏輯庫 libname創建永久邏輯路 Libname 邏輯庫名 物理路徑

            */

            /* 關系型數據庫數據處理

            /

            /

            鏈接關系型數據庫的兩種方式

            1. 創建永久邏輯庫 讀取

            2. 通過 pass through 的方式,其就是在 proc sql 里面 連接操作mysql數據庫

            /

            /

            libname test mysql ur=root password=sas123 databa=mydb

            rver=localhost port=3306;

            /

            /

            proc sql;

            connect to mysql

            (ur=root password=sas123 rver=localhost

            databa=world port=3306);

            create table b as lect * from connection to mysql

            (lect * from city);

            execute(create table cc as lect * from aa

            )by mysql;

            disconnect from mysql;

            quit;

            */

            /* 過程步 對生成的數據集進行分析和處理

            語法格式: PROC 過程名 <選項>;

            過程語句 <參數選項>;

            run;

            var 指定分析變量 多個變量用空格分隔

            by 指定一個過多個分組變量對數據集分組 數據集要先排序

            class 指定一個或多個分類變量 不需要事先對數據集排序

            model 建模中 指定模型的因變量和自變量 以及相關模型選項

            ferq 指定用于分析變量的頻數變量

            weight 指定權數變量 已獲得該變量占百分比的權重

            id 指定觀測變量 輸出會去掉obs選項標識

            output 對分析結果輸出到新數據集

            where 條件選項語句

            title 輸出文件加入標題信息

            footnote 輸出文件加入腳注信息

            options 通過此語句設置 改變sas系統的默認設置

            */data score;

            input id name $ class math english chine;

            cards;

            1001 高明 1 89 78 89

            1002 中海 1 76 99 78

            1003 劉海洋 1 88 56 66

            1004 楊小帥 1 99 89 98

            1005 趙曉紅 1 87 86 83

            1006 馬西瑞 1 89 58 43

            ;

            run;

            proc means data=score sum min max;

            var math english chine;

            run;

            /*

            排序:proc sort

            轉置:proc transpo

            寫sql語句:proc sql

            頻數統計:proc freq

            proc hpsummary

            統計分析:proc means

            proc univariate

            proc logistic

            */

            /* print過程 */

            data score;

            input id name $ class math english chine;

            cards;

            1001 高明 1 89 78 89

            1002 中海 1 76 99 78

            1003 劉海洋 1 88 56 66

            1004 楊小帥 1 99 89 98

            1005 趙曉紅 1 87 86 83

            1006 馬西瑞 1 89 58 43

            ;

            run;

            proc print data=score noobs;

            where math>80 and english>80 and chine>80;

            titile “各科成績大于80分的學生信息”;

            run;/* means 過程 t檢驗

            /

            data tcheck;

            input milck @@;

            milck=milck-450;

            cards;

            452 436 447 439 445 460 442 456 447 440

            ;

            run;

            proc means data=tcheck t prt;

            run;

            /

            copy過程 復制一個邏輯庫下所有的數據集到另一個邏輯庫下 或者從一個文件復制到另一個文件

            語法格式:

            proc copy in=源邏輯庫 out=目標邏輯庫 ;

            SELECT 成員名;

            EXCLUDE 成員名;

            run;

            */

            /* SQL 過程 實現關系數據庫的結構化查詢功能

            語法格式: proc sql <選項>;

            數據操縱語言;

            quit;

            */

            /* report 過程 制作報表的工具

            語法格式: proc report <報表選項>;

            常用報表設置語句;

            run;

            常用關鍵字:

            headline: 指定表頭畫線

            headskip: 指定一空行

            title: 指定主標題

            title2: 指定副標題

            column: 指定報表顯示列

            define: 對報表顯示列定義屬性

            compute: 指定計算列 其結束語句為endcomp

            */

            /* freq 過程 計數統計推斷

            作用1: 描述分析

            作用2: 統計推斷 產生各種統計量 可分析變量間的關系

            語法格式:

            proc freq <選項>;

            by 變量1 <變量2> … <變量n>;

            exact 統計選項;

            output 選項;

            tables requests ;

            test 選項;

            weight 變量名;

            run;

            /

            data yb;

            input group $ row colm fre;

            cards;

            甲組 1 1 49

            甲組 1 2 50甲組 1 2 50

            乙組 2 1 52

            乙組 2 2 48

            丙組 3 1 47

            丙組 3 2 53

            ;

            run;

            proc freq data=yb;

            tables group;

            /

            weight fre;

            /

            run;

            /

            summary 過程 主要用來對數值變量計算單個變量的基本統計量

            語法格式:

            proc summary <選項> <統計關鍵量>;

            var 變量名;

            by 變量名;

            class 變量名;

            freq 變量名;

            weight 變量名;

            ID 變量名;

            output 數據集名 選項;

            run;

            */

            data students;

            input group age height weight x $;

            cards;

            2 35 162 42 f

            1 31 173 43 m

            2 42 156 56 f

            1 53 152 39 f

            1 42 173 63 m

            1 28 165 55 f

            2 33 157 66 f

            2 17 162 46 f

            1 16 173 45 m

            1 25 180 66 m

            ;

            run;

            proc sort data=students;

            by group;

            proc summary data=students mean std n max min range stderr cv;

            var age height weight;

            class x;

            by group;

            output out=stu_analy;

            proc print data=stu_analy;

            run;/* compare 過程 主要用來比較兩個數據集的內容

            語法格式:

            proc compare <選項>;

            var 變量名;

            by 變量名;

            id 變量名;

            with 變量名;

            run;

            */

            -

            SAS編程基礎(2):常用數據步與過程步

            本文發布于:2023-12-06 16:51:24,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/zhishi/a/1701852684237677.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:SAS編程基礎(2):常用數據步與過程步.doc

            本文 PDF 下載地址:SAS編程基礎(2):常用數據步與過程步.pdf

            標簽:數據   變量   指定
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 亚州AV无码乱码精品国产| 亚洲视频免| 999国产精品一区二区| 妺妺窝人体色WWW看人体| 无码一区二区三区av在线播放| 国产精品中文第一字幕| 日韩人妻少妇一区二区| 日韩精品久久不卡中文字幕 | 精品亚洲欧美无人区乱码| 亚洲一区二区精品久久蜜桃| 久久中文字幕一区二区| 亚洲av天码一区二区| 开心久久综合激情五月天| 亚洲精品中文字幕二区| 亚洲精品中文字幕码专区| 国产美女白丝袜精品_a不卡| 久久久久99人妻一区二区三区| 亚洲熟女精品一区二区| 亚洲av日韩av无码尤物| 国产精品国产精品偷麻豆| 1精品啪国产在线观看免费牛牛| 国产中文99视频在线观看| 中文字幕在线不卡一区二区| 我把护士日出水了视频90分钟| 日本精品一区二区不卡| 亚洲av无码专区在线观看成人| 宝贝腿开大点我添添公口述视频 | 国产成人免费| 亚洲成av人无码免费观看| 天天拍夜夜添久久精品大| 3d动漫精品一区二区三区| 国产在线观看播放av| 精品国产电影网久久久久婷婷| 日韩中文字幕av有码| 欧美国产日产一区二区| 久久免费偷拍视频有没有| 久久香蕉国产线看观看式| 精品粉嫩国产一区二区三区| 欧美成人黄在线观看| 美女一区二区三区在线观看视频| 亚洲另类激情专区小说图片|