Write and run SAS programs in your web browser

Clustering

Reply
Occasional Contributor NVN
Occasional Contributor
Posts: 14

Clustering

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;

 

Trusted Advisor
Posts: 1,224

Re: Clustering

Hi,

 

First convert variable in data step and then standardize. 

Occasional Contributor NVN
Occasional Contributor
Posts: 14

Re: Clustering

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

Super User
Posts: 10,880

Re: Clustering


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.

Occasional Contributor NVN
Occasional Contributor
Posts: 14

Re: Clustering

It is working..  Thank you  soo much guys.

 

Ask a Question
Discussion stats
  • 4 replies
  • 128 views
  • 0 likes
  • 3 in conversation