01-30-2012 09:19 AM
Hi, I'm trying to use proc similarity (hope someone is familiar with it) and it needs sequential column variables, eg. Var1 Var2, Var3, ... Var1000, but when I sort it, it sorts as Var1, Var10, Var100, Var101, Var2, ... Var999... How can I keep the normal numbering system 1,2,3,...1000 .. If anyone knows proc similarity, I have 2 groupings that would duplicate the Date which is the ID variable. I'm trying to use a by statement in proc similarity but I'm getting an error that the ID (date) is duplicated from all these groups. Any suggestions, thanks.
01-30-2012 09:22 AM
I provided one possible solution in a different thread where you asked this question. I'm not familiar with proc similarity but, in order to make the variable values so that they sort correctly, use put(_n_,z4.) rather than just _n_.
That way you don't have to do anything extra in order to get it to sort as desired.
01-30-2012 10:44 AM
You can use variable lists in RENAME statement (or data set option) to add in the leading zeros.
data new ;
proc XXXX data=old(rename=(v1-v1000=v0001-v1000));