I have a really large dataset that looks like this:
ID A B C -- ZZ A_new B_new C-new -- ZZ_new
1 0 1 1 -- 1 1 1 0 0
..
..
I want to perform a test of agreement between all variables of the same name + the suffix
i.e.
proc freq data=dat;
table A*A_new / agree;
table B*B_new / agree;
..
run;
I dont think we can use an array to do a SAS procedure - but is there another way to do this without have to write down every variable name?
Another importnat thing to note is that I only really care about p-values for the kappa statistics right now. Ideally, I could output to a dataset and then sort by p-value to get the variables that are significant.
so I converted to longitudinal, extra vairable being new = 1 or 0. Buy how do a get a kappa statistic with a by statement?
So what I did was concatenate the text to trigger the macro for all the variables in my data:
proc sql;
select cat('%mymacro(',name, ',', cats(name, '_new' ),')') into :renstr separated by ' ' from
dictionary.columns where libname = 'WORK' and memname='DATA';
quit;
Then I just copied and pasted the result into my SAS code....
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.