Как округлять числа в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *