Hi Guys,
I have two tables as shown in the attachment. I want to create the result table, which is shown at the bottom of the attachment:
Can someone give me a hand please? I really appreciate everyone who have been helping me so far.
Is the DIAG function what you are looking for? It will convert any vector into a diagonal matrix. For example
proc iml;
a = diag({1 2 3});
print a;
quit;
Thanks for your reply. But i believe its something more to that. Can you please have a look at the data which is attached?
i want the values from a different table to be replaced with the diagonals. Appreciate your input and time.
I am not understanding what you want, so can you explain in more detail please? How do you want to make Table 2 from Table 1? The step after that is just the DIAG function, as the 2nd "22" in the result matrix is a typo, right?
Ah, Sorry Ian. My bad. You are right.
I guess i'm not able to think straight now 🙂
Diag is the option. i was wandering how to put that in the shape of table 1.
proc iml;
N=nrow(table1);
test= diag(table2);
result=??
run;
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 how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.
Find more tutorials on the SAS Users YouTube channel.