I have a dataset with 2 columns of ID numbers (id1 id2). Each row establishes a link between 2 ID numbers There are several many-to-many links, and some ID numbers appear in both columns. I want to create a "group-ID" for all IDs which are interlinked with each other. How can I do this?
In the example below, I want to create 2 group IDs: one for ID numbers a b c d, and another for ID numbers e f.
data have;
input (id1 id2) (:$1.);
cards;
a b
a c
b d
e f
;
Thanks for your help.
Karen
If you have SAS/OR licensed then look at PROC BOM.
If not, there's a good solution posted on here earlier that some searching may help find.
Thank for your answer, but I do not have SAS/OR.
I used the macro SubGraphs as suggested by PG, which works very well
Karen
I don't have SAS/OR anymore either, so I'm glad to see PG's macro as well!
It works wonderfully.
Thank you very much
Karen
@Reeza - I fixed the link to point to the proper article.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.