カテゴリー別アーカイブ: STATA

StataにSPSS(.sav)データをインポートする

経済学の分野ではStataを使っている人が多いと思うのですが,社会学などの分野ではSPSSの方がメジャーなようで,利用したいデータがSPSS形式でしか提供されていないことがよくあります。StatTransferというソフトを用いれば,簡単にSPSS形式のデータをStata形式に変換できるのですが,実はお金をかけなくてもSPSS形式のデータをStataに読み込む方法はいくつかあります。 続きを読む

doファイルの編集と実行

Stataに不満があるとすれば,Doファイルの編集環境があまり良くないということでしょうか。標準のDoファイルエディタは,すぐにDoファイルを実行できるという点は評価できるのですが,エディタとしての機能はそれほど高いとは言えません。普段使っているエディタでDoファイルを編集するのが効率的なのですが,Stataで実行するのに手間がかかってしまいます。

標準のDoファイルエディタの最大の問題点は,折り返し表示ができないことです。ひとつのコマンドが長くなってウィンドウからはみ出した場合に,横にスクロールさせなければ読んだり編集したりすることができなくなってしまいます。コマンドの途中で改行すればよいのですが,Stataでは改行がコマンドの終わりと見なされるため,わざわざ改行をコメントアウトする必要があります。

regress depvar var1 var2 var3 var4 /*
*/       var5 var6 var7 var8 var9 var10

ひとつの解決策は,Doファイルでコマンドの終わりを示すコード(delimit)を改行からほかの文字に変更することです。たとえば,セミコロンに変更すれば,長いコマンドを途中で改行して次の行に続けることができます。コマンドの終わりを示すコードをセミコロンに指定するには,#delimit ; をDoファイルの最初に書きます。

#delimit ;
regress depvar var1 var2 var3 var4
var5 var6 var7 var8 var9 var10 ;

この方法の問題点は言うまでもなく,すべてのコマンドの終わりにセミコロンを挿入しなければいけないということです。ただ,ほかの言語で慣れていればそれほど苦にならないでしょう。

秀丸を使っているのであれば,新潟大学の北条先生がHidomaruというツールを公開されているので,それを使うのもよいでしょう。AutoItというアプリケーションをインストールする必要がありますが,秀丸から編集中のDoファイルを直接実行することができます。強調表示などの定義を作成すれば,秀丸上で快適なStataの利用環境を構築することができます。

更新(2016.08.29)

もう少し,簡単でわかりやすい方法がありましたので更新します。

コマンドの途中で改行するときには,改行前に /// を挿入することで改行が無視されます。

regress depvar var1 var2 var3 var4 ///
var5 var6 var7 var8 var9 var10

公式にもこの方法が推奨されているようです。