DATA Step, Macro, Functions and more

How to round off 0.92

Reply
Occasional Learner
Posts: 1

How to round off 0.92

data work.titaniccsv;
         length pclass $1 survived $1
         name $82 sex $8 age $2
         sibsp $1 parch $1
         ticket $20 fare $10
         cabin $10 embarked $1
         boat $5 body $4
         home_dest $70;

infile '/home/ywliang960/Titanic/titanic3.csv' firstobs=2 dsd;
input pclass survived name $ sex $ age sibsp
         parch ticket $ fare cabin $ embarked $
         boat $ body home_dest $;
Age= round(age);


run;

 

 

I'm able to round off every decimals EXCEPT for numbers like 0.92, 0.72. Those numbers rounded off to 0 instead of 1. Any ideas to solve it?


Capture.PNG
Super User
Posts: 19,815

Re: How to round off 0.92

Posted in reply to ywliang960

You've specified Age as a character variable ($2) but are then trying to apply numeric functions to the variable. Read it in as a number instead and you should be fine. 

 

You may may want to revise your length statement for all your numeric variables and remove the extra $ before the length. 

PROC Star
Posts: 746

Re: How to round off 0.92

Posted in reply to ywliang960

Read in Age as a numeric variable and still use the round function like

 

data mydata;
   input Name $ Age;
   datalines;
Bill 12.4
Carlos 35.7
Monique 0.12
Peter 0.78
;

data roundedData;
   set mydata;
   IntAge = Round(Age);
run;
Ask a Question
Discussion stats
  • 2 replies
  • 207 views
  • 1 like
  • 3 in conversation