Sas で数値を丸める方法 (4 つの例)


SAS で数値を丸めるには、次の方法を使用できます。

方法 1: 最も近い整数に丸める

 data new_data;
    set original_data;
    new_value = round (value);
run ;

方法 2: 特定の小数点以下の桁に四捨五入する

 data new_data;
    set original_data;
    new_value1 = round (value, .1); /*round to 1 decimal place*/
    new_value2 = round (value, .01); /*round to 2 decimal places*/
    new_value3 = round (value, .001); /*round to 3 decimal places*/
run ;

方法 3: すべての値を次の整数に切り捨てる (または切り上げる)

 data new_data;
    set original_data;
    new_value1 = floor (value); /*round down to next integer*/
    new_value2 = ceil (value); /*round up to next integer*/
run ;

方法 4: 最も近い倍数に丸める

 data new_data;
    set original_data;
    new_value1 = round (value, 10); /*round to nearest multiple of 10*/
    new_value2 = round (value, 100); /*round to nearest multiple of 100*/
run ;

次の例は、SAS の次のデータセットで各メソッドを使用する方法を示しています。

 /*create dataset*/
data original_data;
    inputvalue ;
    datalines ;
0.33
0.9
1.2593
1.61
2.89
4.3
8.8
14.4286
18.2
51.4
;
run ;

/*view dataset*/
proc print data = original_data; 

例 1:最も近い整数に丸める

次のコードは、各値を最も近い整数に丸める方法を示しています。

 /*round to nearest integer*/
data new_data;
    set original_data;
    new_value = round (value);
run ;

/*view new dataset*/
proc print data = new_data; 

例 2:特定の小数点以下の桁数に四捨五入する

次のコードは、値を特定の小数点以下の桁数に丸める方法を示しています。

 data new_data;
    set original_data;
    new_value1 = round (value, .1); /*round to 1 decimal place*/
    new_value2 = round (value, .01); /*round to 2 decimal places*/
    new_value3 = round (value, .001); /*round to 3 decimal places*/
run ;

/*view new dataset*/
proc print data = new_data;

例 3: すべての値を次の整数に切り捨て (または切り上げ)

次のコードは、 floor()関数とceil()関数を使用してすべての値を切り捨てる (または切り上げる) 方法を示しています。

 data new_data;
    set original_data;
    new_value1 = floor (value); /*round down to next integer*/
    new_value2 = ceil (value); /*round up to next integer*/
run ;

/*view new dataset*/
proc print data = new_data;

方法 4: 最も近い倍数に丸める

次のコードは、すべての値を値の最も近い倍数に丸める方法を示しています。

 data new_data;
    set original_data;
    nearest10 = round (value, 10); /*round to nearest multiple of 10*/
    nearest100 = round (value, 100); /*round to nearest multiple of 100*/
run ;

/*view new dataset*/
proc print data = new_data;

追加リソース

次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。

SAS でデータを正規化する方法
SAS で欠損値をゼロに置き換える方法
SAS で重複を削除する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です