Getallen afronden in sas (4 voorbeelden)
U kunt de volgende methoden gebruiken om getallen in SAS af te ronden:
Methode 1: Rond af naar het dichtstbijzijnde gehele getal
data new_data;
set original_data;
new_value = round (value);
run ;
Methode 2: Rond af op specifieke decimalen
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 ;
Methode 3: Rond alle waarden naar beneden (of naar boven) af naar het volgende gehele getal
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 ;
Methode 4: Rond af naar het dichtstbijzijnde veelvoud
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 ;
De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met de volgende gegevensset in 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;
Voorbeeld 1: rond af naar het dichtstbijzijnde gehele getal
De volgende code laat zien hoe u elke waarde kunt afronden op het dichtstbijzijnde gehele getal:
/*round to nearest integer*/
data new_data;
set original_data;
new_value = round (value);
run ;
/*view new dataset*/
proc print data = new_data;
Voorbeeld 2: Afronding op specifieke decimalen
De volgende code laat zien hoe u waarden kunt afronden op een specifiek aantal decimalen:
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;
Voorbeeld 3: Rond alle waarden naar beneden (of naar boven) af naar het volgende gehele getal
De volgende code laat zien hoe je alle waarden naar beneden (of naar boven) kunt afronden met behulp van de functies floor() en 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;
Methode 4: Rond af naar het dichtstbijzijnde veelvoud
De volgende code laat zien hoe u alle waarden kunt afronden op het dichtstbijzijnde veelvoud van een waarde:
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;
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Gegevens normaliseren in SAS
Hoe ontbrekende waarden te vervangen door nul in SAS
Hoe duplicaten in SAS te verwijderen