1.9 Stata 字符型变量运算

一、字符简单运算

** 生成文本型变量
gen var1=""    //""表示缺失值
** 文本型变量值替换
replace X1="" if X1=="NA"   //文本运算需要加英文引号

二、文本匹配

** 字符条件匹配
replace CITY_ID=1 if V2=="北京"
replace CITY_ID=1 if strmatch(V2,"*北京*")    //括号内变量名表示匹配的变量,星号"*"表示通配符

三、文本提取

文本提取命令有 substr usubstr ,两个用法基本一致。但 substr 需要考虑编码,一个中文字符占3个英文字符, usubstr 则不需要考虑编码问题。

** 将地址前两个中文字符提取为省份名称
gen province =substr(address,1,6)   //提取2个中文字符: 从第1位开始提取,提取6位,一个中文字符占3个英文字符
gen birthyear=substr(ID,7,4)        //提取数字: 在身份证号ID中,从第7位开始提取4位数字,作为出生年份