空飛ぶチンアナゴの統計解析日記

統計解析を嗜むチンアナゴのメモ帳です

dsを使いたい

pandasでよくある

columns_name_list = df.columns

みたいなことをSTATAでやりたいなぁという話。
マニュアル(https://www.stata.com/manuals/dds.pdf)によるとr(varlist)で取り出せるらしい。

ということで探してみた

www.stata.com
単純にdsコマンドで取り出した変数をループで使う場合は

ds

* 1
foreach v in `r(varlist)' {
  di "`: var l `v''"
}

* 2
local r: di r(varlist)
foreach v in `r' {
  di "`: var l `v''"
}

*3
foreach v of local r {
  di "`: var l `v''"
}

のいずれかでいいみたい。
ただ、注意書きがあって、

*but this is not equivalent:
local r=r(varlist)
foreach v in `r' {
  di "`: var l `v''"
}

と記載すると前の3つとは意味合いが違うらしい。
ちゃんとSTATAのマクロを勉強しないとダメだなぁと思いました。