knitr::opts_chunk$set(echo = TRUE)
StataユーザーのためのRパッケージです。
趣味の範囲内なので、それをご理解の上、ご利用して下さい。 開発者はStataユーザーではないので、バグや要望を報告していただけると幸いです。
{devtools}
などを使ってGitHubからインストールをしてください。
devtools::install_github("shohei-doi/transtataR")
{devtools}
をインストールしていない人は、まずこちらからインストールしてください。install.packages("devtools")
まずはパッケージを読み込みます。
library(transtataR)
stata2r()
という関数にStataのコードを入れて実行できます。
現在、対応しているStataのコマンドは以下の通りです。
pwd
cd
use
save
insheet using
import excel
browse
list
sum
desc
rename
keep
drop
gen
replace
reg
logit
probit
例として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" )
オプションshow.code
をTRUE
にするとコマンドを実行する代わりに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 )
関数transtataR()
はdoファイルのパスを引数に取り、Rコードに翻訳します。
例えば、サンプルdoファイルをRコードにしてみます。
transtataR("code/sample.do")
path
を特定しない場合、doファイルと同じディレクトリに同じ名前で保存します。execute
をTRUE
にするとコードを変換する代わりに実行します。
transtataR("code/sample.do", execute = TRUE)
sessionInfo()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.