Dear Statalists,
for my research on repeated alliances I am using a dataset in which each observation represents one alliance. I want to group observations such that alliances between the same participating companies appear in one group. For this I have two string variables, part_cusip1 and part_cusip2, which each contain the CUSIP Number of Partner 1 and Partner 2 respectively. Unfortunately, there are observations in which the same participants are present, but the relative positions of the CUSIP Numbers is exchanged. When I use egen idgroup=group(part_cusip1 part_cusip2), it ignores those observations and considers them a group in and of itself. Consider following example of how the data looked after I used the command:

obs idgroup part_cusip1 part_cusip2

1 1 000001 000002
2 1 000001 000002
3 2 000002 000001
4 1 000001 000002
5 3 000003 000004

As you can see, while the same participants are involved in observation 3 (000001 & 000002), the command considers it as its own group. Is there any way to circumvent this problem? My dataset has 36000 observations, so checking if each part_cusip1 appears in part_cusip2 and then manually changing idgroup if the same participants are involved would be a lot of work and I would prefer to avoid it.

Thank you for your help!