統(tǒng)計量值用PROC MEANS過程步很容易計算洋闽,在得到各個統(tǒng)計量數(shù)值之后,可以直接簡單的用put語句輸出實現(xiàn)小數(shù)點位數(shù)的控制突梦。當(dāng)然诫舅,這樣操作的前提是我們知曉變量值的最大的小數(shù)位數(shù),如果說明文明中有說明我們就可以直接采用宫患;如果沒有說明, 我們?nèi)绾尾僮髂? 首先, 肯定不可以直接手動去數(shù)據(jù)集中查找, 肉眼看出最大位數(shù)后, 進(jìn)行編程刊懈。這樣的程序不夠穩(wěn)定,不能每次跑程序都用肉眼去看娃闲;其次虚汛,對于觀測數(shù)過大的數(shù)據(jù)集,單從肉眼手動查皇帮,很不現(xiàn)實卷哩。
這里提一句程序化思維很重要,這一點我深有體會属拾。在我剛開始編程的時候将谊,我喜歡手動處理每一個問題。簡單來講渐白,就是不去尋找程序化的解決方法尊浓,而是通過單獨處理孤立的問題。就拿獲取數(shù)值最大小數(shù)位數(shù)來舉例纯衍,如果不是遇到觀測數(shù)比較大的數(shù)據(jù)集栋齿,以前的我很可能就是一條記錄一條記錄地肉眼去看,然后獲取結(jié)果。現(xiàn)在呢瓦堵?我會盡量去解決相同內(nèi)在邏輯的問題基协。我會寫一個程序去尋找最大值,類似這樣:
有了這個程序谷丸,就可以避免在通過人工來查找變量的最大位數(shù)堡掏,使程序更加穩(wěn)定应结∨偬郏可以說解決了這個問題,那后面如何處理呢鹅龄?這個簡單的程序塊有沒有繼續(xù)改進(jìn)或增加功能呢揩慕?這只是對一整個數(shù)據(jù)分析,是否可以實現(xiàn)分組呢扮休?顯然是可以的迎卤。
以上步驟后,就可以直接在代碼中調(diào)用宏變量值了萨醒。這里有一個注意點斟珊,SAS中,宏變量存儲是以字符形式存在的,所以要在程序中先將最大位數(shù)由數(shù)值轉(zhuǎn)換為字符格式(strip(put( presion,best.)))囤踩,不然會有Warning生成旨椒。這里其實還有一點可以引申的, 不同的統(tǒng)計量, 所規(guī)定的小數(shù)位數(shù)也是不一樣, 但都是在最大小數(shù)位數(shù)上進(jìn)行增減的, 我們可以直接將特定統(tǒng)計量的小數(shù)位數(shù)做到宏變量中, 在編程的過程中統(tǒng)一調(diào)用。