由来
条件判断语句非常的繁复,尤其对于生成新的分类变量时,常常令人抓狂。最常规的操作是使用excel做一些语句的拼接再放到dofile中运行,效率非常之低。
譬如
replace region = "东部" if 地区 =="**" |地区 =="**" |地区 =="**" ........
外部命令 ifin
此时可以使用外部命令 ifin进行简化操作
其本质就在于,生成一个 if 地区 =="**" |地区 =="**" |地区 =="**" ........
的暂元`s(ifin)'。我们再使用这个暂元去实现条件判断。
ifin的基本语法如下:
ifin values, variable(varlist) [omitif] [quote]
value :条件的内容
variable:条件依据的变量
quote:是否是字符型
例子:
ifin "上海" "北京" "天津" "山东" "广东" "江苏" "河北" "浙江" "海南" "福建" "辽宁",variable(地区) quote
gen region = "5" //分地区变量
lab var region "东中西分区"
replace region ="东部" `s(ifin)'
ifin "黑龙江" "吉林" "安徽" "山西" "江西" "河南" "湖北" "湖南",variable(地区) quote
replace region ="中部" `s(ifin)'
ifin "云南" "内蒙古" "四川" "宁夏" "广西" "新疆" "甘肃" "贵州" "重庆" "陕西" "青海",variable(地区) quote
replace region ="西部" `s(ifin)'
参考:条件判断的两种简便方法. 爬虫俱乐部 Stata&Python
条件判断的两种简便方法
网友评论