I would like to compare every row of matrix x (let's say 200 by 29) with each row of matrix y (150,29) one at a time.
So for example row 1 in X compared to rows 1 to 150 in y to see if they both elements equal 1. If yes, set new matrix to 1.
Something like below:
do i=1 to 200;
do j=1 to 150;
does x[i,]=y[j,] ? if yes new matrix say z[i,}=1;
end;
end;
z would have 200 rows and 29 columns.
The question isn't clear.
So for example row 1 in X compared to rows 1 to 150 in y to see if they both elements equal 1.
What does "if they both elements equal 1" mean?
z would have 200 rows and 29 columns.
Wouldn't the result be (150*200)x1?
Post some data and output you want could better explain your question !!
proc iml;
x={1 0,
0 1,
1 1};
y={1 1,
1 1};
z=j(nrow(x),1,.);
do i=1 to nrow(x);
if all(x[i,]=y) then z[i]=1;
end;
print z;
quit;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.