saltyの備忘録

誰かの役に立ちそうな情報を不定期に上げています

【Stata】データ分析でよく使うStataのコードまとめ

f:id:salty-saltie:20211113130224p:plain

今回は、Stataを使う際によく使用するコードについてまとめていこうと思います。

 

自分で検索してもなかなか見つからなかったので、役に立ったらうれしいです。

データ分析でよく使うStataのコードまとめ

データを表示するとき

まずはデータを見るときのコードです。

 

browse

broseはデータを別のウィンドウで表示する際につかいます。

 

変数の名前や説明なども表示されるので最初にデータ全体を見たいときに使いました。

 

tab

tabはデータを表形式で出力したいときに使います。

 

tab v1(変数の名前) 

 

とすると、その変数のデータを出力できます。

 

centile

centileは中央値を出力したいときに使います。

 

centile v1 

 

とすると、その変数の中央値を出力できます。

 

histogram

histogramはある変数のヒストグラムをつくりたいときに使います。

 

histogram v1(変数の名前)

 

とすると、ヒストグラムが出力されます。

 

summary

summaryはデータセットのサマリーをみるときに使います。

 

summary

 

とすると、データの平均や標準偏差が出力されます。

 

自分はあまり使わなかったのですが、データの特性を確認するのに使えると思います。

 

条件をつけたいとき

if

条件をつけるときは if をつかいます。

 

例えば、

tab v1 if v2 == 2 

 

といった感じです。

 

条件をつけるときのコード

ifのなかの条件付けでつかうコードです。

 

条件と同じ

v1(変数の名前) == (条件)

 

条件とは異なる

v1(変数の名前) !=(条件)

 

条件より大きい

v1(変数の名前) >=(条件)

 

条件より小さい

v1(変数の名前) <=(条件)

 

ANDでつなげる

v1 ==(条件) & v2 ==(条件)

 

ORでつなげる

v1 ==(条件) | v2 ==(条件)

 

ループを作りたいとき

ループを作りたいときはforvaluesやforeachを使います。

 

xからyまでの数字でループするときは例えば、

 

forvalues n = x/y {

    tab v1 if v2 == `n'

}

 

このようにすると、nにxからyの値が順番に入っていきます。

 

ループに関してはこちらのかたの記事が参考になると思います。

statakahiro.com

 

ちなみにループは複数回コードの中に組み入れることができますが、Stataの出力で確認できる範囲に限界があり、おそらく見えなくなります。

 

なので、ループは一つだけいれるようにしたほうがいいと思います。

 

新しい変数を作りたいとき

新しい変数を作るときは generate を使います。

 

generate v3 = v1 + v2

 

これでv1とv2を足したv3という変数ができました。

 

変数の中身を変えたいとき

変数の中身を変えたいときは replace を使います。

 

replace v1 = 0 if v1 != 1 

 

これで変数v1で1じゃない中身が0に変わります。

 

まとめ

ここまでがとりあえずが自分がいままでstataで使っているコードです。

 

また新たにコードを覚えたらまとめたいと思います。

 

stataに関する記事がすくなく大変ですが、役に立てたら嬉しいです。