SAS: удалить строки, где значение уже появилось - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть набор данных с двумя столбцами идентификаторов, ID_A и ID_B.Каждая строка содержит два идентификатора, которые, как я считаю, принадлежат одному и тому же человеку.Из-за этого каждая комбинация появляется дважды.Например:

ID_A   ID_B
A      B
C      D
B      A
D      C

Я хочу удалить повторение.IE Если у меня есть строка A, BI не требует строки B, A.

ID_A   ID_B
A      B
C      D

Есть идеи, как это сделать в SAS?

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Мне нравится @data null Ответ идеален и надежен.Вы также можете попробовать proc sql, как показано ниже

    proc sql;
    create table want as 
    select distinct
    case when ID_A le ID_B then ID_A else ID_B end as ID_A,
    case when ID_A ge ID_B then ID_A else ID_B end as ID_B
    from have;
0 голосов
/ 21 февраля 2019

Как насчет этого ...

data have;
   input (ID_A ID_B)($);
   cards;
A      B
C      D
B      A
D      C
;;;;
   run;
data haveV / view=haveV;
   set have;
   call sortc(of id:);
   run;
proc sort nodupkey out=want;
   by id:;
   run;
proc print;
   run;
...