Я хочу попытаться найти способ подсчета количества наблюдений в пределах нескольких (более двух) групповых переменных BY.После чего я хочу удалить наблюдения, относящиеся к тем, чье количество меньше двух.Вот пример того, что я пытаюсь сделать:
VAR1 VAR2 VAR3
a a 1
a a 2
a b 1
a b 2
b a 1
b a 2
b b 1
b b 2
c a 1
c b 1
d a 1
Здесь я хотел бы убедиться, что есть ровно два разных значения VAR3 относительно VAR1 и VAR2.
В этом примере вы можете видеть, что я хочу удалить последние три наблюдения, поскольку для каждой пары VAR1 / VAR2 существует одно значение.
Был ли простой способ сделать это?
Я пытался:
data want;
set have;
by VAR1 VAR2 VAR3;
if first.VAR3 = last.VAR3 then delete;
run;
Но это не сработало, поскольку он удалял наблюдения с той же VAR3 в той же VAR1.Мне нужно помочь построить что-то более надежное.
В конце я хочу это:
VAR1 VAR2 VAR3
a a 1
a a 2
a b 1
a b 2
b a 1
b a 2
b b 1
b b 2
Буду признателен за любую помощь.Спасибо.
РЕДАКТИРОВАТЬ:
Предоставление дополнительной ясности для того, что мне нужно.Я хотел бы проверить, содержит ли VAR3 оба значения 1 И 2 для каждой комбинации присутствующих VAR1 и VAR2.Иначе удалите, если запись содержит только одно из значений или ни одного.
Спасибо.