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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

SAS入门学习

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

sas基礎

文章目錄

  • sas基礎
    • @[toc]
    • 基礎
      • 第一步:DATA(數據步)
      • 第二步:PROC(過程步)
      • 第三步:RUN/QUIT(輸出步)
      • 完整
    • 基本語法
      • sas文件擴展名
      • 語句
      • 變量名
      • 變量類型
      • 注釋
      • 日志
    • 數據集
      • 語法
      • 數據集結構
      • 數據的輸入
        • 內置數據集
        • 導入外部數據集

個人blog-1: 拾憶生活
個人blog-2: 極簡-拾憶生活
歡迎大家來踩,同步更新


學習來源:

https://www.w3cschool.cn/

https://www.zybuluo.com/longfei/note/587247

基礎

  • data步——獲取和整理數據
  • 寫proc步——分析數據
  • 提交代碼給SAS,得到output——輸出分析結果
  • 第一步:DATA(數據步)

    數據步的作用是建立數據集,進行數據的讀取和修改,后續可以提供給過程步進行統計分析

    命名數據集,定義變量,創建新變量,輸入數據

    DATA data_set_name; #Name the data set.數據集名稱 INPUT var1,var2,var3; #Define the variables in this data set.定義這個數據集中的變量。 NEW_VAR; #Create new variables.創建新變量。 LABEL; #Assign labels to variables.為變量分配標簽。 DATALINES; #Enter the data.輸入數據。 RUN;

    例子

    DATA TEMP; INPUT ID $ NAME $ SALARY DEPARTMENT $; comm = SALARY*0.25; LABEL ID = 'Employee ID' comm = 'COMMISION'; DATALINES; 1 Rick 623.3 IT 2 Dan 515.2 Operations 3 Michelle 611 IT 4 Ryan 729 HR 5 Gary 843.25 Finance 6 Nina 578 IT 7 Simon 632.8 Operations 8 Guru 722.5 Finance ; RUN;

    一個完整的數據步:

    DATA datasetname;/* 設定數據集名 *//* 定義數據集的變量 *//* 輸入數據 *//* 創建新變量 *//* 設定缺失值 *//* 設定輸出的數據集 *//* 設定變量的標簽 *//* 其它數據任務 */

    第二步:PROC(過程步)

    過程對指定的數據集進行統計分析

    • 語法:
    PROC procedure_name options; #proc的名字. RUN;
    • 例子:
      • 使用MEANS過程打印數據集中數值變量的平均值
    PROC MEANS; RUN;

    一個完整的過程步:

    proc procname <options>;/* 啟動過程步 對數據進行統計分析 */<statements>/<options>;/* 次級statement(語句),如果要添加選項,必須加/隔開 */

    第三步:RUN/QUIT(輸出步)

    • 使用條件輸出語句顯示數據集中的數據
    • 語法:
    PROC PRINT DATA = data_set; /*輸出數據集*/ OPTIONS; /*語句類型*/ RUN;
    • 例子:
      • 使用where子句從數據集中只產生少數記錄
    PROC PRINT DATA=TEMP; WHERE SALARY > 700; RUN;
    • 當SAS執行了run;時

      • 會把前面讀取到的所有data步或proc步的statement語句都執行完。如果一個程序里沒有run;,那么這個程序在提交后也不會被執行。
    • 當SAS執行了quit;時

      • 會把某些會持續運行,占用SAS資源的的proc停掉,讓SAS能夠執行后面的proc。

    完整

    DATA TEMP; INPUT ID $ NAME $ SALARY DEPARTMENT $; comm = SALARY*0.25; LABEL ID = 'Employee ID' comm = 'COMMISION'; DATALINES; 1 Rick 623.3 IT 2 Dan 515.2 Operations 3 Michelle 611 IT 4 Ryan 729 HR 5 Gary 843.25 Finance 6 Nina 578 IT 7 Simon 632.8 Operations 8 Guru 722.5 Finance ; RUN; *********proc步驟*********; PROC MEANS; RUN; *********print步驟*********; PROC PRINT DATA=TEMP; WHERE SALARY > 700; RUN;

    基本語法

    sas文件擴展名

    • .sas
      • SAS代碼文件
    • .log
      • SAS日志文件。它包含已提交的SAS程序的錯誤,警告和數據集詳細信息。
    • .mht / * .html
      • SAS結果文件
    • .sas7bdat
      • SAS數據文件。其中包含SAS數據集,包括變量名稱,標簽和計算結果。

    語句

    • 最后一行“;”結尾
    • 多行語句可以在同一行
    • 關鍵字不區分大小寫
    • 必須使用一個運行語句run;結束

    變量名

    • 最多32個字符
    • 只包括字母、數字、下劃線_,不可以數字作為第一個字符
    • 變量名不區分大小寫

    變量類型

    • 數字型變量(SAS的默認變量類型)

      • 看它在邏輯上是否可以進行運算
        • 如身高、體重之類,就可以用于計算【是數字型變量】
        • ID號、電話號碼之類,不可用于計算【是字符型變量】=》會自動忽略掉高位的0,如果你把ID號設置為數字類型,那么00012就會變成12
    • 字符型變量

      • 不可用于計算,會區分大小寫

      • 包括Text(文本)或String(字符串)

      • 必須要手動把諸如ID號之類的數字形式的變量設置成字符型變量

    • 日期型變量

      • 是用整數表示的
      • 如10/15/09、01/05/2010、JAN052010
    /* Ex 2.2 變量數據類型實例程序 */ data vartypes;input id_num id_char $ weight_num @18 birth_date MMDDYY10.;/* 輸入4個變量,分別是id_num(默認-數字型) id_char(字符型) weight_num(默認-數字型) birth_date(日期型,格式為:月/日/年) */datalines;0001 0001 60 03/07/20160002 0002 50 04/02/20160003 0003 30 12/31/20160004 0004 45 04/12/20160005 0005 49 04/07/2016; proc print data = vartypes; run;

    注釋

    兩種形式

    • *注釋內容;
    # 單行注釋 * 注釋內容; # 多行注釋 * 注釋內容 * 注釋內容;
    • / * 注釋內容 * /
    # 單行注釋 /* 注釋內容 */ # 多行注釋 /* 注釋內容 * 注釋內容 */

    日志

    紅色的字表示錯誤(error),說明代碼出錯了

    綠色的字表示警告(warning),說明當前提示的這句代碼可能有問題【大多數時候不用管的,嗯】

    數據集

    可讀取CSV,Excel,Access,SPSS和原始數據

    語法

    DATA 數據集名
    • 臨時數據集
      • DATA語句之后的一個字表示一個臨時數據集的名字
      • 如果省略SAS數據集名稱,則SAS會創建一個臨時數據集
      • 臨時數據集存在library里,名字叫work
      • 在會話結束時刪除,一旦關掉SAS,就會被銷毀
    • 永久數據集
      • 前半部分是SAS的 library(邏輯庫)名,后半部分是數據集名【用一個.連接的復合名字】
      • 以文件的形式被儲存到硬盤上,位置是library(邏輯庫)指定的路徑
      • 在會話結束后仍然存在
    # Temporary data sets.臨時數據集【保存在work邏輯庫中】 DATA TempData; DATA abc; DATA newdat;# Permanent data sets.永久數據集 DATA LIBRARY1.DATA1 DATA MYLIB.newdat; /* 臨時數據集實例 每一次重新打開SAS,要運行代碼中的proc步,就必須先提交data步。 */ data tempdata;/* 輸入數據集 */input t @@;datalines;1 2 3 4; proc print data=tempdata;/* 打印數據集 */ run;/* 持久數據集實例 只有第一次需要提交全部的代碼,之后數據集就會被以文件形式儲存在MyData庫中。之后要使用,只需要執行第一句分配邏輯庫名,就可以直接提交proc步,而無需再次提交data步輸入數據。 */ libname MyData "D:\MyData";/* 分配邏輯庫名 */ data MyData.tempdata;/* 輸入數據集 */input t @@;datalines;1 2 3 4; proc print data=MyData.tempdata;/* 打印數據集 */ run;

    數據集結構

    其實是一張表。每一列表示一個變量,每一行表示一個觀測。

    第一列是觀測的序號

    其余列是變量名

    數據的輸入

    明天繼續學習!infile語句

    內置數據集

    • 視圖=》sas資源管理器=》當前邏輯庫=》SASHELP
      • 所有內置數據集的名稱列表

    導入外部數據集

    • 文件-》導入數據
      • 第一個導入標準文件資源
      • 第二個自定義

    總結

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

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