【SAS Says】基礎篇:SAS軟體入門(下)

2021-02-25 數說工作室

特別說明:本節【SAS Says】基礎篇:SAS軟體入門(下),用的是數說君學習《The little SAS book》時的中文筆記,我們認為這是打基礎的最好選擇。

轉載請在文章開頭註明微信號:shushuojun,謝謝!

上節我們說了學習SAS的好處,以及SAS軟體入門(上),在微信號「shushuojun」中回復「SAS1」查看。

本節目錄:(老手建議複習一下1.13)

SAS軟體入門(下)

1.8 閱讀SAS日誌

1.9 輸出窗口中瀏覽結果

1.10 創建HTML輸出

1.11 SAS數據的邏輯庫

1.12 用SAS資源管理器訪問SAS數據集

1.13 使用SAS系統選項

SAS軟體入門(下)


1.8 閱讀SAS日誌

在哪找到SAS日誌 SAS日誌窗口的位置隨著你使用的操作環境、選擇的模式(視窗、非交互、批處理)、個人的設置的不同而不同。在視窗模式下,提交程序之後,日誌窗口默認的位置如下圖:


對於批處理和非交互模式的日誌則會被寫入一個文件中,你需要使用操作環境的命令來查看,一般日誌文件的名字與對應的SAS程序名一直,如你的SAS程序命為abc.sas,那麼日誌文件的命則為abc.log

日誌包含的內容日誌中雖然有很多瑣碎,但也包含了重要的信息。這裡有一個將英裡轉換為千米的程序:

*Create a SAS data set named distance; *Convert miles to kilometers;

DATA distance;

Miles=26.22;

Kilometers=1.61*Miles;

*Print the results;

PROC PRINT DATA=distance;

RUN;

運行之後,SAS的日誌窗口會產生一個類似這樣的日誌:


① 說明了你使用的SAS版本和site。

② 是原始的SAS程序語句

③ 說明了數據步為你創建的數據集名稱,觀測值數和變量數。它可以幫助你確認你的程序沒有丟失觀測值,也沒有創建你不需要的變量。

④ 這部分顯示了數據步和過程步佔用的電腦資源。當你使用的是多用戶系統,或者處理大型數據而使得SAS運行佔用大量時間時,這部分信息可以幫助你檢查哪一步比較耗時。

如果SAS程序出現錯誤,錯誤信息也會反饋在日誌窗口中,說明哪裡出錯及出錯表現。

1.9 輸出窗口中瀏覽結果

你使用的模式不同,產看輸出結果的方法也會不同。如果是在視窗模式下提交SAS程序,那麼直接在輸出窗口查看,如果是批處理和非交互模式下,那麼結果就會保存在一個文件裡,需要用命令查看。比如使用UNIX系統下的非交互模式,結果會存在一個後綴為.lst的文件裡,使用cat或其他更多命令來查看。

輸出窗口 提交程序後,結果會出現在輸出窗口中,下圖是一個輸出窗口的例子


列印或保存輸出窗口的目錄 激活輸出窗口的目錄,在菜單欄文件(file)下拉菜單中選擇列印(print)或保存(save)即可。

結果窗口 結果窗口起到輸出窗口的目錄作用,當你的輸出結果非常多時,結果窗口很有用。它可以讓你很清楚的看到輸出結果的每一部分。下圖是一個方差分析(ANOVA)過程的結果。在這個圖中,左邊是輸出結果的目錄,點擊+號將其展開,可以看見ANOVA結果的各個部分,雙擊某一部分,則該部分結果就會位於輸出窗口頂部。


列印或保存部分輸出 如果要列印結果窗口中顯示的某一部分的輸出,則需將滑鼠移到該部分上,右擊,選擇列印或保存即可。或者點擊一下,使其黑亮,再從菜單欄文件(file)的下拉菜單中選擇輸出或保存。


1.10 創建HTML輸出

如果使用的是SAS視窗環境,那麼可以為結果創建超文本標記語言(HTML)格式。

參數選擇窗口 選擇菜單欄中工具(tools)下拉菜單的選項(options)-參數選擇(preferences)。選擇結果(result)選項卡,如下圖所示:


這個參數選擇窗口上,有一個「創建列表(create listing)」選項,默認的輸出就是列表輸出。下面還有「創建HTML」選項,用來創建HTML。樣式(style)選項用來為HTML選擇一個風格樣式。選擇之後,點擊OK。

結果瀏覽窗口和結果窗口 (注意下面提到的三種窗口:結果瀏覽窗口result viewer,結果窗口resultswindow,輸出窗口output window)

一旦選擇了HTML輸出,每次運行程序的時候都會自動出現一個結果瀏覽窗口(result viewer),下圖顯示了在運行了一個均值和輸出的程序後,出現兩個窗口:結果瀏覽窗口——顯示HTML輸出,結果窗口——顯示輸出的目錄。


結果瀏覽窗口一次只顯示輸出結果的一個部分,通過選擇結果窗口的目錄,可以查看其他的部分。值得注意的是,結果窗口給出的目錄中,每一個部分都給出了兩種相同的目錄,一個是連結到輸出窗口,一個是連結到結果瀏覽窗口

保存結果瀏覽窗口的輸出(output of result viewer)的方法:激活結果瀏覽窗口,選擇菜單欄文件(file)下拉菜單的保存(save as)、輸出(print)。

可以在style中為輸出選擇不同的風格,如下圖就是D3D的風格:


1.11 SAS數據的邏輯庫

SAS邏輯庫庫只是數據集文件存放的地點。打開SAS視窗模式後,會看到SAS資源管理器窗口(explore),雙擊邏輯庫圖標,資源管理器窗口會顯示出所有已定義的圖標。要返回前一級窗口,選擇查看(view)-向上一級(up one level),或者在工具欄中直接點擊向上一級圖標

邏輯庫窗口 打開邏輯庫窗口後,除了自己創建的庫外,至少會呈現三個邏輯庫:sashelp,sasuser,和work,如果安裝了某些SAS模塊,還有一些特別的邏輯庫,比如SAS/GRAPH模塊的Maps邏輯庫。Sashelp包含了控制SAS會話以及樣本數據集的一些信息。WORK是sas數據集的臨時儲存地點,創建的數據集如果沒有指定庫,則默認儲存在這裡,關閉程序時則自動刪除數據集。也可以更改默認的庫,從而不是臨時庫。


創建新邏輯庫 創建新邏輯庫有兩種方法:在邏輯庫窗口中選擇文件(file)下拉菜單的新建(new);或者直接右鍵——新建。


在新建邏輯庫(new library)窗口中,為你的邏輯庫起一個名字,這裡叫做Mylib,指定庫的存放路徑。如果不想每次啟動SAS都要調用這個庫,則勾選啟動時啟用(enable at startup)即可。


這是一個新建的Mylib邏輯庫的視圖。


1.12 用SAS資源管理器訪問SAS數據集

可以利用SAS資源管理器打開數據集、瀏覽、編輯,也可以列出數據集的信息,如創建時間和變量名。

目錄窗口 打開一個邏輯庫,進入一個目錄窗口,顯示這個庫中所有的文件和文件夾。右圖的目錄窗口中顯示Mylib邏輯庫有三個文件:Customers,Models,orders。雙擊某文件,則可以打開這個文件的可視視圖。


可視視圖 這個窗口允許你創建、瀏覽、編輯數據集。


列出SAS數據集的屬性 用資源管理器還可以列出SAS數據集的一些屬性情況,右擊某文件,選擇下拉菜單的屬性(properties)


屬性窗口顯示了SAS數據集的屬性信息,如創建時間、行列數等。


如果選擇列(columns)選項卡,則出現數據的列信息


1.13 使用SAS系統選項

SAS系統選項是影響SAS運行的一些參數,比如輸出的顯示、內存的佔用、錯誤的處理等問題。這些小問題由SAS為你設定好,你也可以改變它。

SAS系統選項的參數不是所有都適合你的操作環境,適合於你的再SAS的幫助文檔中給出。可以通過打開SAS系統選項窗口或使用option程序來查看你的SAS系統參數。Option程序的語句如下:

Proc options;

Run;

有四種方法可以指定系統選項的參數,SAS幫助文檔會告訴你哪種適合你的作業系統:

1. 系統管理員會創建一個包含了系統選項設定的配置文件,每次SAS啟動時都會訪問這個文件。

2. 在啟動SAS之後,根據系統提示指定系統選項。

3. 如果使用SAS視窗環境,可以從SAS系統選項中改變已選擇的選項。

4. 使用OPTIONS語句。

這四種方法按照優先性排列,方法2優先於方法1,方法3優先於方法2,方法4優先於3。如果使用SAS視窗環境,方法3,4最好。

OPTIONS語句 OPTIONS語句是SAS程序的一部分,並可影響之後的所有語句。由OPTIONS關鍵詞開頭,後面是相關選項。比如:

OPTIONS LINESIZE=80 NODATE;

OPTIONS語句既不屬於數據步也不屬於過程步,這個全局變量可以出現在程序的任何部分,但放在開頭最有意義,你可以很容易看到哪些選項在發揮作用。如果OPTIONS語句只出現在數據步或者過程步中,那麼它會影響那個過程,和下面的過程(If the OPTIONS statement is in a DATA or PROC step,then it affectsthat stepand the following steps.)。注意,後面的OPTIONS語句會覆蓋前面的,即以後面的OPTIONS為主。

SAS系統選項窗口 通過這個窗口也可以改變系統選項。可以通過在命令欄中輸入「OPTIONS」,或從工具(tools)下拉菜單中選擇.

窗口出來後,找到要修改的部分,右擊——修改值(modifythe value)即可。


一般選項 下面是一些可能用到的一般系統選項

CENTER|NOCENTER

輸出是否居中,還是左對齊。默認居中

DATE|NODATE

今天的日期是否出現在輸出的頂部。默認輸出

LINESEZE=n

控制輸出行的最大長度,n可能的值為64到256

NUMBER|NONUMBER

輸出的頁面頁碼是否需要。默認需要。

ORIENTATION=PORTRAIT;

ORIENTATION=LANDSCAPE;

指定列印輸出的方向。默認豎向(portrait)

PAGENO=n

輸出頁開始的頁面。默認為1

PAGESIZE=n

每個頁面輸出的最大行數。可能的值為15到32767

RIGHTMARGIN=n

LEFTMARGIN=n

TOPMARGIN=n

BOTTOMMARGIN=n

指定列印輸出的邊緣大小。默認0.00英寸(Specifies size of margin(such as 0.75in or 50px)to be used for printing output.Default:0.00in.)

YEARCUTOFF=yyyy

設定起始年份

數說工作室

是由幾位數據分析行業的愛好者也是從業者做的交流平臺,主要依託微博和微信兩個媒介,網站也正在籌備中。

主要分享一些零碎化的知識,關於數據挖掘理論、方法、電子書、有趣的結果,以及一些相關的行業應用等信息。

沒時間刷微博也沒關係,數說君每周會把一些精華內容整理一下,在微信上再發一次:

主要發布一些原創連載,或者行業精選文章。往期目錄:

前面【】內的字母是編號,回復可查看相應文章,也可以直接回復相關術語查看,比如回復「多因子」,則會推送相應的多因子選股模型的文章。

話題匯總:

【T1】統計學畢業之後可以坐什麼


《概率論-上帝的賭術》系列

【GLL】第一話:古典概率論,一場賭局引發的血案

【GLL】第二話:大數定律,看不見的神的秩序

【GLL】第三話:正態分布,眾生的百態

【GLL】第四話:暴走的假設檢驗

【GLL】第五話:回歸模型,命運的方程

【GLL】番外話:常用分布表

【GLL】局部完結篇


金融模型·量化投資系列

【F1】多因子選股模型

【F2】動量反轉

【F3】資本資產定價模型(CAPM)

【F4】盈餘管理的測量


算法理論&代碼

【A1】金融數據挖掘之樸素貝葉斯

【A2】金融數據挖掘之決策樹(ID3)

【MB1】面板數據與Eviews操作指南(上)

【MB2】面板數據與Eviews操作指南(下)

【logistic】logistic回歸:從生產到使用(使用篇)

【logistic】logistic回歸:從生產到使用(生產篇)

【logistic】logistic回歸建模指南

【SVM】分類戰車SVM:開題話

【SVM】分類戰車SVM:線性分類

【SVM】分類戰車SVM:最大間隔分類器

【SVM】分類戰車SVM:拉格朗日對偶問題

【SVM】分類戰車SVM:核函數

【SVM】分類戰車SVM:SMO算法

【SVM】分類戰車SVM:用Python做SVM模型


《統計師的Python日記》系列

【Python】第1天:誰來給我講講Python?

【Python】第2天:再接著介紹一下Python唄

本系列待續中...

《SAS Says》系列

【SAS】基礎篇:SAS軟體入門(上)

本系列分基礎篇、進階篇、高級篇,待續中...

《大數據與金融業》資訊系列

【dsj1】P quant與Q quant(轉)

【dsj2】P quant的裝備之戰

【dsj3】銀行如何裝備Hadoop平臺(轉)

【dsj4】全面了解大數據在銀行業的應用(轉)

【dsj5】全面了解大數據在證券業的應用(轉)

其他科普文/趣文/資訊:

(注意下面的編號是字母 O,不是數字0,看我的嘴型 → 歐~~)

【O1】P值之死

【O2】爭鳴!西方經濟學流派圖

【O3】數說君的自白:人口數據分析

【O4】獨立第三方的困局

【O5】餘額寶為什麼不該被取締?

【O6】一位數據分析師的年終總結(行業精選)

【O7】如果有12億支付寶用戶同時向你帳戶轉帳一塊錢,會發生什麼?(行業精選)

相關焦點

  • 【SAS Says】基礎篇:1. SAS軟體入門
    開發數據(一)6. 開發數據(二) 7. SAS宏初步8. 相關、回歸等基本統計您可以在微信公眾號「數說工作室」(微信ID:shushuojun)中回復「sasbase」查看。因為要寫SAS,所以說了幾句SAS的好話,最後還是要建議大家,關注數說君(微信公眾號:數說工作室,或者微信號:shushuojun),學好SAS、學好Python、學好R、學好Matlab !
  • 【SAS Says】基礎篇:讀取數據(下)
    特別說明:本節【SAS Says】基礎篇:讀取數據(下),用的是數說君學習《The little SAS book》時的中文筆記,我們認為這是打基礎的最好選擇。轉載請在文章開頭註明微信號:shushuojun,謝謝!
  • SAS大學版 - for SAS Learner
    SAS大學辦包含了SAS的基礎功能,滿足統計分析在教學、研究和個人學習領域的基本要求。SAS大學版可以通過網絡下載使用或通過訪問亞馬遜雲- AWS使用。SAS大學版自發布以來,受到包括教師、教授、學生、學術研究者和獨立學習者的廣泛歡迎和好評。截止到2017年3月5號,SAS大學版的全球下載量已經將近百萬次。
  • SAS系列10:SAS基礎統計過程(二)
    前面我們已經簡單介紹了統計描述指標的基礎知識和PROC MEANS/PROC SUMMARY/PROC UNIVARIATE三個計算統計指標的
  • 【SAS Says】基礎篇:ODS的使用(上)
    ODSOUTPUT打開SAS數據集並等待正確的過程輸出,數據集保持開放,直到過程步的結尾。因為ODS OUTPUT是立即執行的,它將應用於proc正在處理的數據,或者應用於下一個proc(如果目前沒有proc)。為確保得到正確的輸出,建議將ODS OUTPUT語句放在PROC語句之後,下一個PROC 、DATA或RUN語句之前。
  • 如何考取SAS全球認證(Base)--- 經驗分享篇
    作為一名醫學僧,我們不可避免的需要學習統計分析軟體,在醫學領域我們常用的統計分析軟體有SAS、R、SPSS、STATA等。
  • SAS和SPSS軟體安裝包及軟體教程下載
    今天i塔尖給大家帶來了兩款統計軟體的介紹,分別是:SAS軟體和SPSS軟體點擊左下角閱讀原文可以下載這兩款軟體的安裝包和教程:
  • SAS實現批量計算字符型變量的IV值
    前兩篇文章介紹了
  • 從程式設計師到數據科學家:SAS 編程基礎 (5)- 邏輯庫與數據集
    因為 SAS 語言就是面向數據分析的專門語言,在 SAS 的世界裡數據是分析的基礎,也是從數據到智能的基石。後面我們會逐漸領略到 「數據就是分析的基礎」 這一精髓!SAS Library 是 SAS 為面向數據處理而設計的引用和存儲單位,是 SAS 組織數據的頂級單位。一個 SAS Library 中可以包含需要若干成員(Member),其中最常用的成員為數據集(Dataset)。
  • 數據分析:SAS篇|創建新變量(RENAME、RETAIN、FIRST、LAST、SUM)
    filename exfiles "c:\sas\data";data saslib.sales;length Name $20;infile exfiles(sales) dsd;input Emp_ID $ Name $ Dept $ Sales:COMMA10.
  • SAS安裝前必須要做的事情!!!
    Microsoft Visual C++ Redistributable(系統運行庫,簡稱MSVC,VB/VC)是Windows作業系統應用程式的基礎類型庫組件。運行庫是程序在運行時所需要的庫文件。通常運行庫是以DLL形式提供的。運行庫中一般包括編程時常用的函數,如字符串操作、文件操作、界面等內容。
  • SAS-輸出文檔生成目錄的方法
    %macro setpaths;%global setup_ runsetup ;%let setup_= %upcase(%sysget(sas_execfilepath));%let runsetup=%sysfunc(prxchange(s/(.*)\\.*/\1/
  • 統計軟體操作學習指南--SPSS/STATA/SAS/R
    SPSS必知必會:數據菜單中的split cases,select cases,以及compute等。掌握了它們,根本上提高數據分析的效率。圖書推薦:英文入門:《SPSS Statistics For Dummies》英文進階:《Medical Statistics -A Guide to SPSS, Data Analysis and Critical Appraisal》如果說上一本是SPSS入門,那麼這本更像是將醫學統計學的各個知識點娓娓道來
  • 統計小知識與SAS軟體
    所用軟體SAS/SPSS/EVIEWS,模型:回歸模型,主成分。數據量不一定大。數據挖掘模型不注重統計學檢驗和計量經濟學檢驗。數據量比較大。軟體:Python/R/SAS。模型:隨機森林,邏輯回歸,SVM,神經網絡(還有一些深度學習的模型,CNN什麼的,alpha go用了CNN),主成分。要有train集合和test集合統計學有很多年的歷史,數據挖掘只是最近發展比較好。
  • 異常值在SAS中的處理
    SAS Winsorize 處理過程:%let DSName =sashelp.heart;proc iml;/* SAS/IML moduleto Winsorize each column of a matrix.
  • SAS-PROC UNIVARIATE相關用法
    STD 標準差VAR 變異係數(標準誤)SKEWNESS 偏度KURTOSIS 峰度SUMWT 所有觀察體在WEIGHT變量上的總和MAX  最大值MIN  最小值RANGE 極差(最大值-最小值)Q3 上四分位數MEDIAN 中位數 =P50Q1 下四分位數
  • 技巧|SAS常見實用技巧大匯總
    options validmemname=extend validvarname=any ;↑突破命名限制並不推薦,救急情況下可用.options nofmterr;(3)一鍵清理SAS的所有結果當SAS結果窗口結果太多,希望儘快清理乾淨,從一個乾淨清爽的基礎重新開始時,dm命令就可以派上用場了。
  • SAS入門篇——SAS vs. R
    R 對於軟體初學者群體,心中常有的疑問通常是「Which tool should I learn?」或者「Which is the best tool for the job?」,這些問題是求職者在尋找數據分析類職位時經常思考的問題。
  • [SAS在財務研究中的應用]短期事件研究法
    若有需要編程中使用的event_study程序文檔,推薦購買SAS在財務研究中的應用(example_16_1.sas
  • 【花滿帶你學SAS】SAS中的列聯表分析
    屬性不同,可用的方法:Spearman相關性(proc corr過程)、線性趨勢檢驗屬性相同,可用的方法:Kappa係數(proc freq data=data;tables anvar1* anvar 2/agree;run;)花滿從SAS官網下載幾本覺得對臨床行業的老鐵比較好用的SAS book(需要更多書籍的老鐵,可點擊Https://support.sas.com