Sas で floor 関数を使用する方法
SAS でFLOOR関数を使用すると、数値以下の最大の整数を返すことができます。
次の例は、 FLOOR関数を実際に使用する方法を示しています。
注: SAS のFLOOR関数の逆はCEIL関数です。
例: SAS で FLOOR 関数を使用する方法
SAS に、会社のさまざまな従業員が販売した平均的な商品に関する情報を含む次のデータセットがあるとします。
/*create dataset*/
data my_data;
input employee $avg_sales;
datalines ;
Andy 12.3
Bob 14.5
Chad 8.44
Derrick 12.87
Eric 8.01
Frank 10
George 11.5
Henry 11.99
Isaac 7.64
;
run ;
/*view dataset*/
proc print data =my_data;
FLOOR関数を使用すると、 avg_sales列の各数値以下の最大の整数を返すことができます。
/*create new dataset*/
data new_data;
set my_data;
floor_avg_sales = floor (avg_sales);
run ;
/*view new dataset*/
proc print data =new_data;
Floor_avg_salesという新しい列には、 avg_sales列の各数値以下の最大の整数が含まれることに注意してください。
例えば:
- 値12.30 は12になります。
- 値14.50 は14になります。
- 値8.44 は8になります。
- 値12.87 は12になります。
等々。
FLOOR 関数と INT 関数の違い
SAS のINT関数は、数値の整数値部分を返します。
正の値の場合、 FLOOR関数とINT関数はまったく同じ数値を返します。
ただし、 FLOOR関数とINT関数は、負の数に対して異なる値を返します。
例として次のデータセットを考えてみましょう。
/*create dataset*/ data my_data; input employee $avg_sales; datalines ; Andy 12.3 Bob 14.5 Chad 8.44 Derrick -12.87 Eric -8.01 /*create new dataset*/ data new_data; set my_data; floor_avg_sales = floor (avg_sales); int_avg_sales = int (avg_sales); run ; /*view new dataset*/ proc print data = new_data;
正の数値の場合、 FLOOR関数とINT関数は同じ結果を返します。
ただし、負の数値の場合は同じ結果が返されません。
FLOOR関数は基本的に負の数値を次の整数に丸めるのに対し、 INT関数は負の数値を次の整数に丸めます。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。