I am trying to implement the K-means Clustering algorithm. I imported the data set(CREDIT) to sas , replaced the missing values (NA) with 0 of the variable that i need ( MonthlyIncome ) but variable have the character data type. But when i try to convert this variable to numeric to do the Scaling process with the following code the log is showing the following errors. please help me..
error 1: Found " Monthly_Income" when expecting " ;"
error2: Statement "Monthly_Income" is not valid;
Code:
Proc standerd data=CREDIT mean=0 std=1;
out=CREDIT1;
var age MonthlyIncome debtratio etc...............;
Var Monthly_Inc=(MonthlyIncome, best12.);
run;
Hi,
First convert variable in data step and then standardize.
Data step..? you mean..? at the time of importing the data set to sas.? or change the type directly.?
@NVN wrote:
Data step..? you mean..? at the time of importing the data set to sas.? or change the type directly.?
Best would be to insure that the data was read into SAS as a numeric.
If that isn't practical for some reason you can use a data step to change:
data want;
set have (rename=(income=textincome));
income = input(textincome,best10.);
/* assign format or labels as desired*/
drop textincome;
run;
the rename is so you could use the same varaible name as you cannot change sas data types directly.
It is working.. Thank you soo much guys.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.