stata--告别繁复的or条件语句

由来

条件判断语句非常的繁复,尤其对于生成新的分类变量时,常常令人抓狂。最常规的操作是使用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
条件判断的两种简便方法

你可能感兴趣的:(stata--告别繁复的or条件语句)