*R [#v371104c] フリーの統計解析ソフト。普通にこの手のソフトを買うと10万円とかとられるので懐にやさしい([[stata価格>https://www.lightstone.co.jp/stata/pricelist.html]], [[EViews価格>https://www.lightstone.co.jp/eviews/prices_aca.html]])。かなり高機能。 **ダウンロード [#wa12af2f] 以下の[[CRAN>http://cran.r-project.org/]](The Comprehensive R Archive Network)ミラーのうち、お好きなところで(提供をやめてしまったところが多い)。 -山形大学 https://ftp.yz.yamagata-u.ac.jp/pub/cran/ -RStudio https://cran.rstudio.com **インストール・使い方 [#k26f922c] 以下を参照。「R-x.x.x-win.exe」のような名前のファイル(Windowsの場合)をダウンロードして実行するだけ。 -R-Tips http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html -RjpWiki http://www.okada.jp.org/RWiki/?RjpWiki まず、デスクトップ用のアイコンを右クリック-プロパティで起動オプションを設定しておこう。「リンク先」の最後に「 --no-save」を追加すると、最後の保存確認が省略される。「作業フォルダー」はデータやスクリプトを置く場所になるので、適当に設定しておこう。 次に、メニューの 編集-GUIプリファレンス からFONTをMS Gothicに変更してSave...を押すと、Rconsoleというファイルが保存される。これをテキストエディターで編集して MDIsize = 800*600+100+50 のような行を追加する。これで起動時のウィンドウサイズ・位置を調整できる(「800*600」がサイズ、「+100+50」がウィンドウの左上の位置)。 追加パッケージのダウンロード先(CRANミラー)の設定はC:\Program Files\R\R-x.x.x\etc(例)にある「Rprofile.site」に local({r <- getOption("repos") r["CRAN"] <- "https://cran.ism.ac.jp/" options(repos=r)}) と追記しておく(統計数理研究所にアクセスする場合)。 -参考 http://www.agr.nagoya-u.ac.jp/~seitai/document/R2009/Rsettings.pdf また、RコマンダーというGUI環境が用意されているので、使いたい場合は install.packages("Rcmdr") library(Rcmdr) のように入力(インストールは初めてのときのみ)するとRコマンダーが起動する。最初の起動には分析に必要なパッケージを沢山ダウンロード&インストールするので、多少時間がかかる。Rコマンダーについては -〔GUI 版R〕R Commander の説明書 http://cwoweb2.bai.ne.jp/~jgb11101/files/R-commander.pdf -Rcmdrの機能 http://www.okada.jp.org/RWiki/?Rcmdr%A4%CE%B5%A1%C7%BD を参照。 **オンライン・ドキュメント(PDF) [#cd7e9049] -R-intro.の日本語訳 http://phi.med.gunma-u.ac.jp/swtips/R-jp-docs/R-intro-170.jp.pdf -統計分析ソフトウェアRの使用法 http://www.otaru-uc.ac.jp/~nisiyama/Documents/rmanual.pdf -Rによる統計解析の基礎(同名の書籍の草稿) http://phi.med.gunma-u.ac.jp/statlib/stat.pdf -Rによる保健医療データ解析演習 http://phi.med.gunma-u.ac.jp/msb/medstatbook.pdf -Rノート:データ解析とグラフィックスのためのプログラミング環境 http://www.geocities.co.jp/HiTeens/5433/R/Rfiles/R-jp.pdf -心理学データ解析のための統計ソフト R のミニミニマニュアル http://www1.gifu-u.ac.jp/~s_oga/Rmanual.pdf -Econometrics in R http://cran.r-project.org/doc/contrib/Farnsworth-EconometricsInR.pdf -R、R言語、R環境・・・・・・ http://www1.doshisha.ac.jp/~mjin/R/ -RjpWiki アーカイブス http://www.okada.jp.org/RWiki/?RjpWiki%20%A5%A2%A1%BC%A5%AB%A5%A4%A5%D6%A5%B9 -maselab-R- http://www.is.titech.ac.jp/is-wiki/?maselab%2FR#teefddcd -R for Stata Users http://uqu.edu.sa/files2/tiny_mce/plugins/filemanager/files/4281670/aakpro/algebra/alg1/alg2/alg3/alg4/R%20for%20Stata%20Users.pdf 他にもぐぐるといっぱい出てくる。CRANには他にもマニュアル等が -http://cran.r-project.org/manuals.html -http://cran.r-project.org/other-docs.html あたりに置いてある。英語が多いが、日本語・中国語などのもあり。本については -R本リスト http://www.okadajp.org/RWiki/?R%E6%9C%AC%E3%83%AA%E3%82%B9%E3%83%88 を参照。 **データの操作 [#be197b63] ***データの読み込み [#cb194b23] 「data.csv」というcsvファイルを「dataframe」という名前で読み込む。 dataframe <- read.csv("data.csv", stringsAsFactors = FALSE) ***データの書き出し [#p2b55854] data.csvという名前で保存する場合、以下のようにする。 write.table(dataframe, "data.csv", sep=",", na="", quote = T, col.names = T, row.names = F, append = F) ***データの抽出 [#r46d8a1a] column列が「hoge」となっている行を抽出。 dataframe2 <- subset(dataframe, column == "hoge") ***データフレームの指定 [#zf4ac8e8] -「with」という関数を使うと、関数中で使うデータフレーム名を1回書くだけで済む。 with(dataframe, ・・・) -回帰ではdataオプションをつけられる。 kaiki.kekka <- lm(y ~ x, data = dataframe) -attach(dataframe)とdetach(dataframe)の間ではデータフレームが固定される。 ***カテゴリカルデータ [#vb4afa6a] アンケートデータでは数値自体の意味がないことが多い。 n <- ncol(origdata) idx <- 1:n factordata <- lapply(origdata[idx], as.factor) ***参照 [#i65096ba] -44. データの加工と抽出 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/44.html -データフレームTips大全 http://www.okada.jp.org/RWiki/?%A5%C7%A1%BC%A5%BF%A5%D5%A5%EC%A1%BC%A5%E0Tips%C2%E7%C1%B4 -R: データ出力 http://www.is.titech.ac.jp/~mase/mase/html.jp/temp/write.table.jp.html **欠損値の処理 [#d3431c69] ***参照 [#rb7c6cfb] -[R] 欠損値を1つでも含む行を抽出 https://tam07pb915.wordpress.com/2017/02/18/filter-na-rows/ -欠損値(NA)を含むデータの抽出 https://github.com/YokohamaR/yokohama.r/issues/8 -すっからかん(欠損値しかない)の列を削除して完全データにしたい http://uribo.hatenablog.com/entry/2017/05/18/070548 -RでNAを含む列を簡単に削除したい https://qiita.com/kiyokoichi/items/3e2f030e7255a2ecdba6 -RのモダンなNA処理まとめ https://qiita.com/five-dots/items/361a42baf1e94edf5846 -Rで欠損値の有無を判定する函数 anyNA() https://id.fnshr.info/2014/04/14/anyna/ **空白の処理 [#a71ab7c9] 「gsub」を使う。 ***参照 [#r1a05845] -http://a-habakiri.hateblo.jp/entry/2016/12/21/212329 -http://anagumat.hateblo.jp/entry/2015/01/22/212534 **プログラミング [#ccc99822] ***演算子 [#t4fc881e] -R-Sourse 28. 演算子 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/28.html ***多重ループ [#a442b64b] 「expand.grid」や「outer」を使うといいらしい。 -参照 http://d.hatena.ne.jp/teramonagi/20110330/1301486306 **分散分析 [#af68a5be] -http://mat.isc.chubu.ac.jp/R/tech.html **Wilcoxson検定(Mann-Whitney検定) [#ffebedb3] 標準のwilcox.testは近似計算になるらしいので、 install.packages("exactRankTests") library(exactRankTests) wilcox.exact(A群,B群) のようにすると正確な値が出る。~ これも古くなったらしく、代わりに install.packages("coin") library(coin) wilcox_test(c(A群,y) ~ factor(c(rep("A群",length(A群)),rep("B群",length(B群)))), distribution = "exact") とするらしい。 -参照 http://oku.edu.mie-u.ac.jp/~okumura/stat/wmw.html **カイ二乗検定 [#cfa3fed6] dataframeのvar1とvar2でカイ二乗検定したい場合、まず「xtabs」で分割表(クロス表)に集計する。分割表をMtrxとすると、以下のようになる(「addmargins」で合計欄を付加して表示させている)。 Mtrx <- xtabs(~var1 + var2, data = dataframe) addmargins(Mtrx) カイ二乗検定は「chisq.test」で分割表(行列形式)を指定してやる(使用するのは合計のない方)。 chisq.test(Mtrx) ***参照 [#a4be2c06] -http://sudori.info/stat/stat_contigency_table.html -http://monge.tec.fukuoka-u.ac.jp/r_analysis/dataframe_category04.html -http://monge.tec.fukuoka-u.ac.jp/r_analysis/data_crosstable10.html **計量経済 [#a5f1c39e] 分析毎に必要なパッケージ類が -CRAN Task Views https://www.trifields.jp/r-cran-task-views-639 でまとめられているので、これをインストールすれば楽。計量経済学のためには -CRAN Task View: Econometrics https://www.trifields.jp/r-cran-task-view-computational-econometrics-699 を入れる。入れ方は install.packages("ctv") library(ctv) install.views("Econometrics") でおけ。 -Rでエコノメトリクス http://www.okada.jp.org/RWiki/?R%A4%C7%A5%A8%A5%B3%A5%CE%A5%E1%A5%C8%A5%EA%A5%AF%A5%B9 -Rを使って計量経済分析 http://www.sugi-shun.com/econwiki/index.php?R%A4%F2%BB%C8%A4%C3%A4%C6%B7%D7%CE%CC%B7%D0%BA%D1%CA%AC%C0%CF -統計パッケージR http://hnami.or.tv/m2/index.php/%E7%B5%B1%E8%A8%88%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8R ***Robustな標準誤差 [#xd9fb4af] 以下のように書く。 kaiki <- lm(y ~ x1 + x2 + x3, data = hogedata) coeftest(kaiki, vcov=vcovHC(kaiki, type = "HC1")) オプションのデフォルトはHC3。HC1にすると「回帰では」Stataと同じ結果を得る(Stataではregでvce(robust)オプション)。 -参照 --http://cran.r-project.org/web/packages/sandwich/sandwich.pdf --http://web.econ.keio.ac.jp/staff/hk/ecm2/resume/Rintro.pdf ***順序Logit [#a23040dd] summary(kaiki)だとt値しか出力してくれないので、screenregで有意かどうかを*で出している。 library(MASS) kaiki <- polr(y ~ x1 + x2 + x3, data = hogedata, method = "logistic") library(texreg) screenreg(kaiki) -参照 --https://qiita.com/watanta/items/7568f9d1d93d1094aee6 --https://qiita.com/malimo1024/items/ef008742ba7b4f33fe80 --http://ill-identified.hatenablog.com/entry/2014/01/28/214814 ***パネルデータ分析 [#i95270a0] plmを使う。モデルはwithin, random, ht, between, pooling, fdを指定できる。ランダム効果モデルではswar(標準), amemiya, walhus, nerlove, kinlaの5つを指定できる。 library(plm) outcome <- plm(y ~ x1 + x2, data = hoge, model = "random", random.method = "amemiya") のように書く。 -参照 --http://cran.r-project.org/web/packages/plm/plm.pdf --http://fukunan-blog.cocolog-nifty.com/fukunanblog/2009/06/r-bf15.html --http://hnami.or.tv/d/index.php?%A5%D1%A5%CD%A5%EB%A5%C7%A1%BC%A5%BF%CA%AC%C0%CF ***欠損値について [#q2e63bea] -http://d.hatena.ne.jp/syou6162/20070702/1183349437 -http://cse.naro.affrc.go.jp/takezawa/r-tips/r/18.html ***分析結果の出力 [#q3ea8355] -http://rottenpop.wordpress.com/2010/11/19/r%E3%81%A7%E9%87%8D%E5%9B%9E%E5%B8%B0%E5%88%86%E6%9E%90%EF%BC%88%E4%BD%9C%E8%A1%A8%EF%BC%89/ -http://www.tufs.ac.jp/ts/personal/corpuskun/wiki/index.php?R%A4%CE%A5%E1%A5%E2 **ログの保存 [#k8d20e34] ファイル - ファイルの保存 で保存できる。 **わかりやすく書くために [#x4002305] -Google's R Style Guide の翻訳 http://www.okadajp.org/RWiki/?Google's%20R%20Style%20Guide **ChromebookでR [#bdf45e3e] LinuxでRをインストールすればいいが、RStudioまで入れれば見た目もWindowsで動かすのと変わりない。ただし、パッケージのインストールには(コンパイル作業があるようで)Windowsより時間がかかる可能性がある。時間があるときにパッケージのインストールだけやっておくのがよさそう。 -ChromebookのLinuxにRStudio Desktopをインストールしてみた 20240208 https://www.youtube.com/watch?v=MazQiLXnJQ8 これの通りでできる。ただし、追加パッケージで入らないのがある(tidyverseとか)ので、 -R package の devtools をubuntuにインストールした時に発生したエラー ~ had non-zero exit status を解決する。 https://qiita.com/Yuuki-Osada/items/1f50c3e865ba4ef0d37f を参考に。 > 実は、丁寧に解決策の案を提示してくれています。~ 解決策の案に従って、足りていないソフトウェアをインストールしましょう。 > これを何度か繰り返せば問題なくインストールできました。 > 以下、devtoolsのインストールエラーを解決するためにインストールした時のコマンドです。 > sudo apt install libssl-dev libfontconfig1-dev libcurl4-openssl-dev libxml2-dev > sudo apt install libharfbuzz-dev libfribidi-dev > sudo apt install libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev 解決策の案に従って、足りていないソフトウェアをインストールしましょう。~ これを何度か繰り返せば問題なくインストールできました。~ 以下、devtoolsのインストールエラーを解決するためにインストールした時のコマンドです。 > sudo apt install libssl-dev libfontconfig1-dev libcurl4-openssl-dev libxml2-dev~ sudo apt install libharfbuzz-dev libfribidi-dev~ sudo apt install libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev **その他 [#r005c175] 適当なリンク。 -Rによるデータ解析 http://homepage2.nifty.com/nandemoarchive/sas_r_excel/mokuji_r.htm -Dataninja http://dataninja.wordpress.com/ -実践! Rで学ぶ統計解析の基礎(@IT) ++Rは統計解析のブッシュナイフだ https://www.atmarkit.co.jp/ait/articles/1007/21/news096.html ++Rで実践する統計的検定の初歩 https://www.atmarkit.co.jp/ait/articles/1008/04/news090.html ++Rによるオープン・データの可視化(1) https://www.atmarkit.co.jp/ait/articles/1008/20/news092.html ++Rによるオープン・データの可視化(2) https://www.atmarkit.co.jp/ait/articles/1009/02/news119.html ++インターリュード: TwitterとR https://www.atmarkit.co.jp/ait/articles/1009/15/news123.html ++夏の異常気象をオープン・データで確認 https://www.atmarkit.co.jp/ait/articles/1010/04/news108.html ++大相撲のアノーマリー (1) https://www.atmarkit.co.jp/ait/articles/1012/07/news103.html ++大相撲のアノーマリー (2) https://www.atmarkit.co.jp/ait/articles/1102/17/news098.html -実践!WebマーケターのためのR入門 ++とっつきにくいけど実はエクセル以上に賢いヤツ フリー統計解析ソフトウェア「R」を触ってみよう http://markezine.jp/article/detail/19808 ++Rで本格的に分析を始める前に「必ず」確認しておきたいこと http://markezine.jp/article/detail/20069 ++時系列データと箱ひげ図を利用して、ちゃちゃっとデータを分解し変動要因を特定しよう http://markezine.jp/article/detail/20427 ++Rのパワーアップキットを使ってイケてるグラフをサクッと作成しよう http://markezine.jp/article/detail/20541 ++ダミー変数を使って上手にデータをまとめ、グループごとの特徴を把握しよう http://markezine.jp/article/detail/20790 -caretパッケージのdummyVarsによるダミー変数の作り方 http://estrellita.hatenablog.com/entry/2014/07/29/091448 -生産年齢人口が減るとデフレになる? http://tacmasi.blogspot.com/2010/10/blog-post.html 世界銀行のデータを用いて人口-物価や人口-貨幣量の相関を分析。 -裏 RjpWiki http://blog.goo.ne.jp/r-de-r -マイクロソフトが「Microsoft R Server」を公開 http://www.atmarkit.co.jp/ait/articles/1601/08/news147.html