SAS 筆記系列 — proc format(一) — cntlin 的數字使用
好的,最近在實驗室的程式真是遇上了大麻煩,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 的資料集
而創造出來的資料集會長成這樣
用這個方法就可以省去人工手打程式碼的繁雜程序,而隨後就可以把創建出來的資料集宣告成 format —
馬上來把這個 format 套到原始資料上試試看
Bingo!!! 我們就可以順利的得到我們想要的東西