SAS 遍历观一行/条测值值中多个取值

本文详细介绍了在SAS中如何判断一个字符串列表(LIST)中的元素是否存在于另一个字符串(DIRECTOR)中。提出了两种方法:一是通过‘,’分列处理LIST并使用循环函数和index函数进行判断;二是直接遍历LIST,利用kscan函数检查每个元素是否在DIRECTOR内。这两种方法各有适用场景,对于LIST变量数量不固定或过多的情况,第二种方法更为推荐。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DIRECTORLIST
员工张三张三,李四
管理者王五王五,钱六

如上,若想用SAS判断DIRECTOR是否在LIST中,想法如下:

想法一:

将LIST列通过“,”分列生成在样本中,再判断每一小列是否在DIRECTOR中出现

涉及函数有:循环函数; kscan; index

循环函数思路,可见求助:SAS 字符串拆分处理 - SAS专版 - 经管之家(原人大经济论坛)求助:SAS 字符串拆分处理,请教各位大神!现有两个变量值,如下:ID text1 a^b^c现想通过^符号将text变量值拆分成三条观测,目标结果如下:ID text1 a2 b3 c,经管之家(原人大经济论坛)https://bbs.pinggu.org/thread-5002014-1-1.html

想法二(更推荐):

直接遍历LIST列中的每一项,判断每一项是否在DIRECTOR中出现,此方法不需要生成新的列,适合LIST中变量数不恒定或过多的时候

涉及函数或方法:do i = 1 to count(LIST,',')+1; index; kscan函数等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值