由來(lái)
條件判斷語(yǔ)句非常的繁復(fù),尤其對(duì)于生成新的分類(lèi)變量時(shí),常常令人抓狂。最常規(guī)的操作是使用excel做一些語(yǔ)句的拼接再放到dofile中運(yùn)行,效率非常之低。
譬如
replace region = "東部" if 地區(qū) =="**" |地區(qū) =="**" |地區(qū) =="**" ........
外部命令 ifin
此時(shí)可以使用外部命令 ifin進(jìn)行簡(jiǎn)化操作
其本質(zhì)就在于,生成一個(gè) if 地區(qū) =="**" |地區(qū) =="**" |地區(qū) =="**" ........ 的暫元`s(ifin)'。我們?cè)偈褂眠@個(gè)暫元去實(shí)現(xiàn)條件判斷。
ifin的基本語(yǔ)法如下:
ifin values, variable(varlist) [omitif] [quote]
value :條件的內(nèi)容
variable:條件依據(jù)的變量
quote:是否是字符型
例子:
ifin "上海" "北京" "天津" "山東" "廣東" "江蘇" "河北" "浙江" "海南" "福建" "遼寧",variable(地區(qū)) quote
gen region = "5" //分地區(qū)變量
lab var region "東中西分區(qū)"
replace region ="東部" `s(ifin)'
ifin "黑龍江" "吉林" "安徽" "山西" "江西" "河南" "湖北" "湖南",variable(地區(qū)) quote
replace region ="中部" `s(ifin)'
ifin "云南" "內(nèi)蒙古" "四川" "寧夏" "廣西" "新疆" "甘肅" "貴州" "重慶" "陜西" "青海",variable(地區(qū)) quote
replace region ="西部" `s(ifin)'
參考:條件判斷的兩種簡(jiǎn)便方法. 爬蟲(chóng)俱樂(lè)部 Stata&Python
條件判斷的兩種簡(jiǎn)便方法