knitr::opts_chunk$set(echo = TRUE)

StataユーザーのためのRパッケージです。

趣味の範囲内なので、それをご理解の上、ご利用して下さい。 開発者はStataユーザーではないので、バグや要望を報告していただけると幸いです。

インストール

{devtools}などを使ってGitHubからインストールをしてください。

devtools::install_github("shohei-doi/transtataR")
install.packages("devtools")

基本的な使い方

まずはパッケージを読み込みます。

library(transtataR)

stata2r()という関数にStataのコードを入れて実行できます。 現在、対応しているStataのコマンドは以下の通りです。

具体例

例としてTableau PublicのSample DataからTitanic Passenger Listをダウンロードして、適当な場所に保存をします。

データの読み込み

このようにしてStataのコマンドuseでデータを読み込むことができます。

stata2r("insheet using 'data/titanic passenger list.csv'")

データの閲覧

生データを見ます。

stata2r("browse")
stata2r("browse if age > 20")
stata2r("browse sex age")

生データの一部を見ます。

stata2r("list if age > 20")
stata2r("list sex age")

データの変数の型を確認します。

stata2r("desc")

記述統計

記述統計を見ます。

stata2r("sum")

変数の作成、加工

変数を作ります(試しに、18歳以下の女性を表すfchildを作ります)。

stata2r("gen fchild = 0")
stata2r("replace fchild = 1 if age <= 18 & sex == 'female'")

回帰分析

回帰分析を行います。

stata2r("reg survived c.sex age")
stata2r("reg survived c.sex#age")
stata2r("logit survived c.sex age if age > 20")
stata2r("probit survived c.sex age if age <= 20")

発展的な使い方

複数行の実行

stata2r()には複数のStataコードを入力することができます。

stata2r(
  "insheet using 'data/titanic passenger list.csv'",
  "list age sex",
  "reg survived c.sex age"
)

Rコードの表示

オプションshow.codeTRUEにするとコマンドを実行する代わりにRコードとパッケージを表示します。

stata2r("reg survived c.sex#age", show.code = TRUE)
stata2r(
  "insheet using 'data/titanic passenger list.csv'",
  "list age sex",
  "reg survived c.sex age",
  show.code = TRUE
)

doファイルの変換

関数transtataR()はdoファイルのパスを引数に取り、Rコードに翻訳します。 例えば、サンプルdoファイルRコードにしてみます。

transtataR("code/sample.do")

executeTRUEにするとコードを変換する代わりに実行します。

transtataR("code/sample.do", execute = TRUE)

開発環境

sessionInfo()


shohei-doi/transtataR documentation built on March 22, 2021, 1:52 p.m.