悬赏 200 个论坛币 已解决
我想设置虚拟变量,如果包含P2504,P2506,P2510任何一个,都取值为1,否则为0自己是初学,实在不会,还请会的前辈不吝赐教
ViolationTypeID
P2504
P2599
P2504
P2505,P2506,P2599
P2503,P2599
P2503,P2504,P2505,P2599
P2512
P2504
P2503
P2504
P2504,P2599
P2503
P2503,P2505,P2510
P2503,P2504,P2505,P2514,P2515,P2599
P2504,P2506,P2510,P2515,P2599
P2512
P2504,P2505,P2510,P2599
P2503,P2504
P2503,P2504
P2503,P2504
P2503,P2505,P2515,P2599
P2511
最佳答案
xingxf 查看完整内容
gen dummy=0
replace dummy=1 if strpos(ViolationTypeID,"P2504")>0|strpos(ViolationTypeID,"P2506")>0|strpos(ViolationTypeID,"P2510")>0
你是要在ViolationTypeID这个变量里面搜索P2504,P2506和P2510。而不是说这个变量等于P2504,P2506和P2510。所以你那种做法肯定不行。
strpos函数你可以看一下解释,help strpos。这是一个string fuction,就你这个问题来说,他搜索ViolationTypeI变量中P2504,P2506,P2510的起始位 ...