stata編程小筆記1——tokenize
以前每次發(fā)現(xiàn)一個好用的stata命令,都會在電腦的某個角落記下來,但時間一長就忘了放在哪了,這和沒記好像也沒啥區(qū)別。鑒于我是個b站較為“重度”的用戶(其實也就是用來看看視頻娛樂的哈哈),我想把自己看到的一些命令記在這里,既方便自己查看,也方便有需求的同學查看(假想會有人看)。廢話說完了,直接進入第一個命令——tokenize。

tokenize的作用其實就三個字——“分解宏”。
這里涉及一個概念,即什么叫“宏”。簡單來說,“宏”就是給一堆變量起一個統(tǒng)一的名字,比如當我們寫local xlist "age growth roa size"時,實際就是給?age growth roa size這些變量起一個統(tǒng)一的名字,叫“xlist”,以后要引用這些變量跑回歸或做描述性統(tǒng)計時,就直接寫`xlist'就好了。
但如果我在定義了宏之后,還想把宏里面的每個元素拿出來,怎么辦(比如從xlist里面拿出age)?這時就要用到tokenize,我們只需要寫tokenize `xlist',就可以逐一拿出xlist里面的元素。難以理解?那先運行以下代碼直觀感受一下吧,然后再去help tokenize,就很清晰了。噔噔噔,上代碼~
local xlist?"age growth roa size"
tokenize `xlist'
?dis "`1'"
?dis "`2'"
?dis "`3'"
?dis "`4'"
看到了嗎,它生成一個位置代號,你只要直接引用位置代碼就可以了。
那么,為什么我生成了宏,還要從宏里面逐一拿出來元素,這不是沒事找事干嗎?哈哈還真不是,很多ado文檔都有這個命令。那么究竟這么做有什么好處呢?給大家留個作業(yè)思考一下嘿嘿。
最后,原諒我在自嗨,讀研總需要點自嗨,否則生活太無聊了。
Reference:
https://wenku.baidu.com/view/3e17b413227916888486d7dc.html