Help using Base SAS procedures

proc varclus?

New Contributor
Posts: 3

proc varclus?

Hi Collegues,

I have 750 variables related to customers’ transaction behavior, account balances etc.

I have reduced the number of variables using proc varclus. Then the representative variables in each cluster  were inputted into proc logistic to identify predictors that are associated with acquisition of bank products.

I have two specific questions.

1.       Should I standardize the input variables separately before inputting into proc varclus?

2.       I used the following statements. Is there any method that I can use so that I do not need to list down the name of all 750 variables?

proc varclus data=temp.dataset               outtree=tree      centroid                maxclusters=25;

var         a     b     c     d of 750th variable ;


Would really appreciate any ideas.


Frequent Contributor
Posts: 104

Re: proc varclus?

VARCLUS is related to principle/centroid components, thus can be affected by the scale on which the variables are measured.

  1. Since you specified the CENTROID option, these are unweighted averages of the standardized variables (stated in documentation), you don't need to pre-standardize them.  To convince yourself, you can standardize them yourself and then run VARCLUS to see if the result is any different.
  2. The easiest way to specify all numeric variables is "var _numeric_;" which is a list of all numeric variables.  You can use the drop= option on the input dataset to remove a few variables if necessary "proc varclus data=xxx(drop=v1 v2 v3) centroid; var _numeric_;" if this saves you typing.
New Contributor
Posts: 3

Re: proc varclus?

Hi Dling,

Thank you very much for this very useful clarification.

Best regards


Ask a Question
Discussion stats
  • 2 replies
  • 2 in conversation