SAS 筆記系列 — proc format(一) — cntlin 的數字使用

Hung Jui, Hsu
Jul 4, 2022

--

好的,最近在實驗室的程式真是遇上了大麻煩,SAS 對我來說算是一個相對不熟悉的語言(跟 Python 比起來。因此只能花時間埋頭嗑 SAS 的官方文件,但卻覺得還是很難用嗚嗚嗚。
因此想趁這段時間把用過的方法記下來,以後再自己回來看,順便也提供給有需要的人。希望我可以持續寫下去 ㄏ

言歸正傳,今天要寫的是使用 cntlin 資料集來創建 format,相信大家對使用 proc format 來創造 format 已經很熟悉了,不熟悉也沒關係,之後有空的話說不定會寫(?

測試資料請點選這裡

這是一個隨便打出來的學生分數,假設今天我們要幫分數分級,0~20分叫第1級距、20~40分叫第2級距、40~60分叫第3級距…依此類推。這時如果要使用基本創建 proc format 的方法,程式會寫成

雖然這看起來很直覺,不過如果今天有很多個級距時,肯定是打到手斷掉吧!! 這時我們就可以使用 cntlin 來創建這個 format。
所謂的 cntlin 就是直接使用一個資料集來當作 format,而這個資料集必須要有下面幾個變數 —

<start>: 標籤的起始範圍
<end>: 標籤的結束範圍
<label>: 標籤的名字
<fmtname>:format 的名字

依照這個規則,我們可以使用以下程式來創建這個 format 的資料集

而創造出來的資料集會長成這樣

fmt 資料集

用這個方法就可以省去人工手打程式碼的繁雜程序,而隨後就可以把創建出來的資料集宣告成 format —

馬上來把這個 format 套到原始資料上試試看

套上 format 的結果

Bingo!!! 我們就可以順利的得到我們想要的東西

謝謝你的閱讀,如果你覺得這篇文章有幫助到你的話,可以幫我拍個手喔😆

--

--

Hung Jui, Hsu
Hung Jui, Hsu

Written by Hung Jui, Hsu

Department of Statistics, National Taipei University | 這是一個屬於統計和程式的小角落 | 羽球x拉麵 極度愛好者 | A place to write down what I’ve learn in statistics, programming and life

No responses yet