BookmarkSubscribeRSS Feed
NVN
Fluorite | Level 6 NVN
Fluorite | Level 6

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;

 

4 REPLIES 4
stat_sas
Ammonite | Level 13

Hi,

 

First convert variable in data step and then standardize. 

NVN
Fluorite | Level 6 NVN
Fluorite | Level 6

Data step..?  you mean..? at the time of importing the data set to sas.?  or  change the type directly.?

ballardw
Super User

@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.

NVN
Fluorite | Level 6 NVN
Fluorite | Level 6

It is working..  Thank you  soo much guys.

 

Develop Code with SAS Studio

Get started using SAS Studio to write, run and debug your SAS programs.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1653 views
  • 0 likes
  • 3 in conversation