xingxf 发表于 2013-9-21 00:49 
不是说了么:如果,name1里只有一个名字,name2里面有好几个名字,那么用如下命令:
gen new=0
replace ...
********************************************
*按照你说的方法的
clear
input ///
str20 name1 str20 name2
王强 张三
张三 泰山
李四 黄石
王五
马武
end
*就你给的图示例子来说,如果name1和name2里都只有一个名字,那用如下命令:
gen new=0
replace new=1 if name1==name2
*如果,name1里只有一个名字,name2里面有好几个名字,那么用如下命令:
gen new1=0
replace new1=1 if strpos(name2,name1)>0
list
******************************************************
. clear
.
. input ///
> str20 name1 str20 name2
name1 name2
1. 王强 张三
2. 张三 泰山
3. 李四 黄石
4. 王五
5. 马武
6. end
.
.
. *就你给的图示例子来说,如果name1和name2里都只有一个名字,那用如下命令:
. gen new=0
. replace new=1 if name1==name2
(0 real changes made)
.
. *如果,name1里只有一个名字,name2里面有好几个名字,那么用如下命令:
. gen new1=0
. replace new1=1 if strpos(name2,name1)>0
(0 real changes made)
.
. list
+----------------------------+
| name1 name2 new new1 |
|----------------------------|
1. | 王强 张三 0 0 |
2. | 张三 泰山 0 0 |
3. | 李四 黄石 0 0 |
4. | 王五 0 0 |
5. | 马武 0 0 |
+----------------------------+
这是你说的方法的结果