u++の備忘録

RData形式のデータセットをPythonで読み込む

Tl;DR

rdataパッケージ*1を用いて、次のようにRData形式のデータセットを読み込める。

import rdata


parsed = rdata.parser.parse_file('../data/vouchers.rda')
converted = rdata.conversion.convert(parsed)
vouchers = converted['vouchers']

f:id:upura:20200106124807p:plain

『効果検証入門』をPython

年末年始に『効果検証入門 ~正しい比較のための因果推論/計量経済学の基礎』(技術評論社*2を読みました。具体例多めで、良くあるハマりどころが解説されている良本だと思います。内容は根本のランダム化比較実験から始まり、回帰分析・傾向スコア・差分の差分法・回帰不連続デザインまでを扱っています。

勉強のため、Rで実装されているサンプルコード*3Pythonで書き換えながら手を動かしてみました。一度通読しただけでは理解が浅かった箇所など気になった部分のみですが、GitHubでコードも公開しています*4

その中で、RData形式で公開されているデータセットを扱う場面がありました。少し調べてみたところ、rdataというパッケージが使いやすかったです。pipでのインストールが可能で、ドキュメントはありませんでしたがGitHubのtestコード*5からコードを流用しました。

おわりに

本記事では、『効果検証入門』のサンプルコードをPythonで実装する際に必要になったRData形式のデータセットPythonで読み込む方法を紹介しました。なお同書のPython実装については、Qiitaにて @nekoumei さんが公開してくださっています*6