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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

SAS语言入门教程

發布時間:2023/12/20 编程问答 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAS语言入门教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.什么是SAS

SAS語言是一種專用的數據管理與分析語言,它提供了一種完善的編程語言。 類似于計算機的高級語言,SAS用戶只需要熟悉其命令、語句及簡單的語法規則就可以做數據管 理和分析處理工作。因此,掌握SAS編程技術是學習SAS的關鍵環節。在SAS中,把大部分常用的復雜數據計算的算法作為標準過程調用,用戶僅需要指出過程名 及其必要的參數。這一特點使得SAS編程十分簡單。 中文名 統計分析系統 外文名 SAS 全稱 Statistics Analysis System

2.語言簡介

1.SAS語句:1.SAS語言程序由數據步和過程步組成。1.數據步用來生成數據集、計算、整理數據,2.過程步用來對數據進行分析、報告。2.SAS語言的基本單位是語句,1.每個SAS語句一般由一個關鍵字(如DATA,PROC,INPUT,CARDS,BY)開頭,包含SAS名字、特殊字符、運算符等,以分號結束。2.SAS關鍵字是用于SAS語句開頭的特殊單詞,SAS語句除了賦值、累加、注釋、空語句以外都以關鍵字開頭。3.SAS名字在SAS程序中標識各種SAS成分,如變量、數據集、數據庫,等等。4.SAS 名字由1到8個字母、數字、下劃線組成,第一個字符必須是字母或下劃線。5.SAS關鍵字和SAS 名字都不分大小寫。2.SAS表達式1.SAS數據步程序中的計算用表達式完成。表達式把常量、變量、函數調用運算符、括號連接起來得到一個計算結果。1.常 量SAS常量主要有數值型、字符型兩種,并且還提供了用于表達日期、時間的數據類型。數值型:數值型常數可以用整數、定點實數、科學計數法實數表示。如:12,-7.5,2.5E-10字符型:字符型常數為兩邊用單撇號或兩邊用雙撇號包圍的若干字符。如:'Beijing',"Li Ming","李明"日期、時間:日期型常數:在表示日期的字符串后加一個字母d大小寫均可),中間沒有空格。時間型常數:是在表示時間的字符串后加一個字母t。日期時間型常數在表示日期時間的字符串后加字母dt。日期型:'13JUL1998'd時間型:'14:20't日期時間型:'13JUL1998:14:20:32'dt因為SAS是一種數據處理語言,而實際數據中經常會遇到缺失值,比如沒有觀測到數值,被訪問人不肯答,等等。SAS中用一個單獨的小數點來表示缺失值常量。2.變 量1.SAS變量的基本類型有兩種:數值型和字符型。2.日期、時間等變量存為數值型(實際記錄為距1960/01/01的天數)。3.SAS的數值型變量可以存儲任意整數、定點實數、浮點實數,一般不關心其區別。數值型變量在數據集中的存貯一般使用8個字節。SAS的字符型變量缺省的長度是8個字符,但是如果在INPUT 語句中輸入字符型變量時指定了長度則不受此限制。可以用LENGTH語句直接指定變量長度。LENGTH 語句一般應出現在變量定義之前,格式為:LENGTH 變量名 $ 長度;例如:LENGTH name $ 20;3.運算符SAS運算符包括算術、比較、邏輯及其它的運算符。1.算術運算符算術運算符: + - * / **,運算優先級按通常的優先規則。2.比較運算符:比較運算符用于比較常量、變量的值大小、相等,包括= ^= > < >= <=EQ NE GT LT GE LE IN其中EQ等名字和=等特殊字符是同一運算符的等價寫法。比較運算符得到“真”或“假” 的結果,主要用于需要條件的分支、循環等語句中。運算符IN是一個SAS特有的比較運算符,用來檢查某個變量的取值是否在一個給定列表中,例如:prov in ('Beijing', 'Tianjin', 'Shanghai', Chongqing')可以判斷變量prov的取值是否為四個直轄市之一。3.邏輯運算符邏輯運算符用來連接比較得到的結果以構成復雜的條件,有三種邏輯運算符: &(AND) |(OR) ^(NOT) 。AND是&(與)的等價寫法OR是|(或)的等價寫法NOT是^(非)的等價寫法。例如:(salary >= 1000) AND (salary < 2000)表示工資收入在1000-2000之間(不含2000)(age <= 3) OR (sex = '女')表示三歲以下(含三歲)的嬰兒及婦女NOT ((salary >= 1000) AND (salary < 2000))表示工資收入不在1000-2000之間復雜的邏輯表達式最好用括號表示其運算優先級,以免誤記優先規則并可利于閱讀程序。4.其它的運算符其它的運算符:||(兩個連續的|號),兩個字符串連接<> 取兩個運算值中較大一個的(比如3<>5結果為5)>< 取兩個運算值中較小一個的 (比如3><5結果為3)注意:<>符在有些語言中用作“不等于”比較算符,而SAS 中用法則較特殊。

3.SAS程序規則

1.SAS程序由語句構成。每個語句以分號結尾。 2.在SAS程序中,一個語句可以寫到多行(不需任何續行標志),也可以在一行連續寫幾個語句。 3.SAS語言中只要允許用一個空格的地方就可以加入任意多個空白(空格、制表符、回車),允許用空格的地方是名字周圍、運算符周圍。 4.SAS關鍵字和名字大小寫不分,但字符型數據值要區分大小寫,比如"Beijing" 和"BEIJING"被認為是不同的數據值。 5.在SAS程序中可以加入注釋,注釋的內容用/*和*/在兩端界定。這種注釋可以出現在任何允許加入空格的位置,可以占多行。 6.SAS中一般只把注釋單獨占一行或若干行,不把注釋與程序代碼放在同一行。注釋的另一個作用是把某些代碼暫時屏蔽使其不能運行。 7.SAS程序包括數據步和過程步兩種結構,每一個步是一段相對完整的可以單獨運行的程序。數據步用來生成、整理數據和自編程計算,過程步調用SAS已編好的處理過程對數據進行處理。自己用SAS編程序進行計算主要在數據步中進行。 8.SAS數據步以DATA語句開頭,以RUN語句結尾。DATA步中可以使用INPUT、CARDS、INFILE 、SET、MERGE等語句指定數據來源輸入數據,也可以用賦值、分支、循環等編程結構直接生成數據或對輸入的數據進行修改。 9.作用編輯SAS是一種專用的數據處理、統計計算語言,但是它也包含一般的高級語言編程能力并擴充了許多數學、統計等方面的函數。SAS語言的編程計算能力主要由SAS數據步提供。DATA語句以關鍵字DATA 開頭,后面給出一個數據集名,例如:data out1;則在本數據步要生成的數據集,其名字為out1。我們也可以省略數據集名,這時SAS自動生成一個臨時數據集名。也可以使用特殊名字_NULL_ ,表示本數據步不生成數據集。

4.一賦值語句

在SAS中用賦值語句計算一個值并存放到變量中。 格式為:變量名 = 表達式; 例如:avg = (math + chinese)/2;isfem = (sex='女');y=sin(x)**2;newv = .;其中第一個賦值語句用一個公式計算平均分數。第二個生成一個取值為0或1的變量,性別為女時為1,否則為0。第三個使用了正弦函數和乘方運算。第四個給變量賦了缺失值。

5.二輸出語句

1.SAS數據步的輸出一般是數據集,用賦值語句計算的結果會自動寫入數據集。SAS也提供了一個PUT語句用于立即打印輸出結果。PUT語句的語法:PUT 輸出項表輸出項表中只能是變量或字符串,項間用空格隔開。如:data;x=0.5;y=sin(x);put 'Sine function value of ' x 'is ' y;run;結果將在運行記錄窗口顯示一行Sine function value of 0.5 is 0.4794255386 2.PUT說明⒈在PUT語句中,若在變量名后加“=”,則指定輸出項可以顯示帶有變量名的輸出結果。比如把上程序中的PUT語句改為put x= y=;則結果在LOG窗口顯示為X=0.5 Y=0.4794255386⒉指定變量輸出項的具體列位置及小數位數絕對位置格式:變量 起始列-結束列.小數位數比如:put x 10-20 .6 y 30-40 .6;指定把X數值顯示在第10-20列,保留6位小數,把Y數值顯示在第30-40列,保留6位小數。在指定的列位置內,數值型數據靠右對齊,字符型數據靠左對齊。變量為整數值或者字符型則不指定小數位數。相對位置格式:變量 寬度.小數位數(用于數值型)變量 $寬度.(用于字符型)如:put x 20.8 y 20.8; 使X占用第1-20列,8位小數,右對齊;Y占用第21-40列,8位小數,右對齊。而put name $10.;使name占用10列。輸出占位不滿指定寬度時,數值型數據向右對齊,字符型數據向左對齊。3.如果希望PUT語句的輸出不產生換行,使下一個PUT的結果可以顯示在同一行,只要在PUT 語句結尾處加一個@符。PUT語句的輸出結果缺省情況下被送到運行記錄窗口。若在PUT語句之前用FILE語句可以改變PUT語句的輸出目的地。如,在PUT語句之前用file print;可以把PUT語句的輸出轉向到輸出窗口。在FILE語句中指定一個包含文件名的字符串可以把PUT語句的輸出轉向到此文件中。比如file 'tmp.out';輸出文件把后續的PUT語句輸出轉向到當前工作目錄下的文件“tmp.out”中,生成tmp.out 。注意當前工作目錄在SAS狀態欄的右方顯示,雙擊可以更改。文件名也可以指定全路徑,比如“C:\SAS\TMP.OUT”。

6.三分支結構

⒈if...then...else 結構 ⒉SELECT結構 1. if...then...else 結構 格式為: IF 條件 THEN 語句; ELSE 語句; 例: data temp1 input x @@; if x>0 then put x '是正數'; else put x '是負數'; cards; 1 2 -3 4 -5 ; run;

有時我們在條件成立時需要進行的操作無法用一個語句完成,這時可以使用SAS提供的復合語句功能。例:

ut x@@; /*不分行符@@的使用:每讀入一天記錄后,數據指針保持原位不換行,

繼續讀下一條記錄*/

if x>0 then do; y=2*x; put 'f(' x ')=' y; end; else put 'Data Error!'; cards; 1 2 -3 4 -5 ; run;

總結

以上是生活随笔為你收集整理的SAS语言入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。

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