Sas 在同一表格中匹配观测值

Sas 在同一表格中匹配观测值,sas,Sas,我想知道SAS是否可以基于多个匹配条件匹配同一个表中的观测值,然后对它们进行标记。 例如,我希望观察结果与年龄和性别相匹配,但只根据他们是否喜欢《星球大战》而有所不同 这是我掌握的数据 age gender Like star wars Location 34 male 1 US 36 female 0 UK 24 female 1 AU 4

我想知道SAS是否可以基于多个匹配条件匹配同一个表中的观测值,然后对它们进行标记。 例如,我希望观察结果与年龄和性别相匹配,但只根据他们是否喜欢《星球大战》而有所不同

这是我掌握的数据

   age  gender  Like star wars  Location
    34  male         1            US
    36  female       0            UK
    24  female       1            AU
    45  female       1            US
    34  male         0            CH
    36  female       1            US
    57  female       0            US
想要


如果按年龄和性别对数据进行排序,“匹配项”将分组在一起。使用
first.
last.
处理可以很容易地检测到不匹配项。同时是
第一个。
最后一个。
的行不匹配

proc sort data=have;
by age gender;

data want;
set have;
by age gender;
match = ifc(first.age and last.age, 'No', 'Yes');
run;

你试过什么?你能解释一下
匹配的规则吗
,特别是
34名男性
36名女性
的情况。我正在努力使用PROC SQL,按年龄和性别分组,但不知道如何为结果分配标签。34名男性的匹配是因为他们的年龄和性别相同,但对《星球大战》的喜好不同,而不管他们在哪里。那么,这场匹配是因为一个人喜欢和一个人不喜欢吗?如果双方都喜欢还是都不喜欢,那么比赛结果会是‘否’?有34名男性的三次观察结果是什么?——如何根据“类似星球大战”来分配匹配?
proc sort data=have;
by age gender;

data want;
set have;
by age gender;
match = ifc(first.age and last.age, 'No', 'Yes');
run;