なぜ DTA を CSV に変換するのですか?
Stataの .dta ファイルは、一握りのプログラムでしか解釈できない独自のバイナリ統計データセットですが、.CSV は Excel、Google Sheets、あらゆるデータベースのインポートウィザード、および事実上すべてのデータツールで開くことができます。CSV への変換は、Stata ライセンスを持っていない共同作業者と Stata データセットを共有するための標準的な手順です。
DTA から CSV への変換方法
Python + pandas OPEN-SOURCE
pandas と pyreadstat をインストールし、pd.read_stata('file.dta') で読み込み、.to_csv('output.csv', index=False) で書き出します。値ラベルをテキストとしてエクスポートするには convert_categoricals=True を追加します。
R + haven OPEN-SOURCE
haven をインストールし、read_dta('file.dta') を実行してデータを読み込み、readr の write_csv() で書き出します。値ラベルをテキストにデコードするには、先に as_factor(df) を呼び出します。
Stata APP
Stata で .dta を開き、コマンドウィンドウで export delimited コマンドを実行して CSV を書き出します。
これらの形式について
DTA ファイルは、ほとんどの場合 Stata データセットです。これは StataCorp Stata 統計パッケージのネイティブバイナリ形式です。開くために有料の Stata ライセンスは必要ありません。PondPilot を使えばブラウザで無料で開けますし、R の haven パッケージや Python の pandas…
.DTA の詳細を開く →CSV ファイルは、表形式のデータをプレーンテキストとして保存します。1行に1レコード、値はカンマ(欧州圏ではセミコロン)で区切られます。Excel、Google Sheets、LibreOffice Calc などのスプレッドシートソフトで開くことができます。最も一般的な問題は、Excel…
.CSV の詳細を開く →品質と注意点
- カテゴリ変数の列は内部的に数値コードを保持しています。デコードしない場合、テキストラベルではなく数値としてエクスポートされます。これを修正するには、pandas では
convert_categoricals=Trueを、R ではas_factor()を使用してください。 - 変数ラベル(長い説明文)は CSV でサポートされていないメタデータであるため、出力時に削除されます。
- PondPilot は Stata フォーマット 8 から 19 までを読み取ることができ、Stata 8 から Stata 19 までのすべてのバージョンをカバーしています。
よくある質問
DTA を CSV に変換するのに Stata のライセンスは必要ですか?
CSV 内のカテゴリ変数の列がラベルではなく数値で表示されるのはなぜですか?
convert_categoricals=True を、R では as_factor() を使用してください。