SAS-IML中的值匹配

SAS-IML中的值匹配,sas,Sas,假设我有一个向量x和一个要匹配的值v的简短列表。我想找出x的哪些元素存在于v中。例如,如果 x = {10 11 12 13 12 13 14 15}; v = {12 13}; 我想得到向量{3 4 5 6},它们是x的元素,其值为12或13。有没有一种简单的方法可以做到这一点,而不必对v的所有元素进行显式循环?我假设您在PROC IML中。 使用XSECT函数查找两个集合的交点: z = xsect(x,v); 如果你想要不同,使用SETDIF 顺便说一句,有一个专门讨论soley SA

假设我有一个向量x和一个要匹配的值v的简短列表。我想找出x的哪些元素存在于v中。例如,如果

x = {10 11 12 13 12 13 14 15};
v = {12 13};

我想得到向量{3 4 5 6},它们是x的元素,其值为12或13。有没有一种简单的方法可以做到这一点,而不必对v的所有元素进行显式循环?

我假设您在PROC IML中。 使用XSECT函数查找两个集合的交点:

z = xsect(x,v);
如果你想要不同,使用SETDIF

顺便说一句,有一个专门讨论soley SAS/IML问题的论坛: