2017年12月17日

【SAS小技巧】小心 “浮點運算陷阱”

先來看看下面這一個簡單的程式和結果。

data test;
     input x y;
     datalines;
     0.54 0.36
     54 36
;
data test1;
     set test;
     pct=((x-y)/y)*100;
     if pct=50 then chk=1;
run;
proc print data=test1;
run;

結果如下圖:

image

明明PCT看起來都是50,為什麼只有第2筆的CHK為1?

2017年11月12日

德國Maxis-babywelt網購Britax RÖMER KIDFIX XP安全座椅

時間過的真快,第一張安全座椅Britax RÖMER car seat First Class Plus於2013年11月購買,其實點點還是可以坐得下,只是舊的安全座椅上下都比較辛苦,所以決定買一張4歲以上的安全座椅,方便他自行上下。不過有長途旅程需求時,我們還是考慮用舊的安全座椅,因為仰躺角度大比較好睡。

Britax提供給4~12歲的安全座椅大約有下列幾款:

整理表

2017年9月8日

【SAS小技巧】在程式編輯視窗取代「換行符號」

編輯SAS程式有時會從excel中複製變項名稱,例如譯碼簿轉到excel後選取所需變項貼到SAS中。如下圖選取「英文欄位」中的所有變項。
image

但貼到SAS後也會保持原樣,也就是一行一行的在程式編輯器中,如下圖。
image

2017年2月11日

SAS PROC SQL入門 (Part C)-Summary Functions

本篇主要介紹Summary Functions在SQL中的使用。
Summary Functions可以用來計算所有資料筆的函數,類似Proc Means的功能,但依據寫法也可能會如一般函數的結果。

常用的Summary Functions有Mean、Count、Max、Min等,其餘函數表列於下:

image

2016年10月8日

【SAS 小技巧】小數點後做無條件捨去或進位

SAS內建函數中無條件捨去的函數為CEIL,無條件進位的函數為FLOOR,但在預設功能只能做到捨去或進位到整數。看一下SAS的說明及範例
無條件捨去:
CEIL(argument)
image34
  無條件進位:
FLOOR(argument)
image29