如何在 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中如何删除重复项

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注