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.
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.
Thanks art..
You can use variable lists in RENAME statement (or data set option) to add in the leading zeros.
data new ;
set old;
rename v1-v1000=v0001-v1000;
run;
proc XXXX data=old(rename=(v1-v1000=v0001-v1000));
....
Hi Tom,
I think that v1-v1000 are values of one variable of the OP's dateset, not v1-v1000 variables.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.