R

フリーの統計解析ソフト。普通にこの手のソフトを買うと10万円とかとられるので懐にやさしい(stata価格, EViews価格)。かなり高機能。

ダウンロード

以下のCRAN(The Comprehensive R Archive Network)ミラーのうち、お好きなところで。

インストール・使い方

以下を参照。「R-x.x.x-win.exe」のような名前のファイル(Windowsの場合)をダウンロードして実行するだけ。

まず、デスクトップ用のアイコンを右クリック-プロパティで起動オプションを設定しておこう。「リンク先」の最後に「 --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)})

と追記しておく(統計数理研究所にアクセスする場合)。

また、RコマンダーというGUI環境が用意されているので、使いたい場合は

install.packages("Rcmdr")
library(Rcmdr)

のように入力(インストールは初めてのときのみ)するとRコマンダーが起動する。最初の起動には分析に必要なパッケージを沢山ダウンロード&インストールするので、多少時間がかかる。Rコマンダーについては

を参照。

オンライン・ドキュメント(PDF)

他にもぐぐるといっぱい出てくる。CRANには他にもマニュアル等が

あたりに置いてある。英語が多いが、日本語・中国語などのもあり。本については

を参照。

データの操作

データの読み込み

「data.csv」というcsvファイルを「dataframe」という名前で読み込む。

dataframe <- read.csv("data.csv", stringsAsFactors = FALSE)

データの書き出し

data.csvという名前で保存する場合、以下のようにする。

write.table(dataframe, "data.csv", sep=",", na="", quote = T, col.names = T, row.names = F, append = F)

データの抽出

column列が「hoge」となっている行を抽出。

dataframe2 <- subset(dataframe, column == "hoge")

データフレームの指定

  • 「with」という関数を使うと、関数中で使うデータフレーム名を1回書くだけで済む。
    with(dataframe, ・・・)
  • 回帰ではdataオプションをつけられる。
    kaiki.kekka  <- lm(y ~ x,  data = dataframe)
  • attach(dataframe)とdetach(dataframe)の間ではデータフレームが固定される。

カテゴリカルデータ

アンケートデータでは数値自体の意味がないことが多い。

n <- ncol(origdata)
idx <- 1:n
factordata <- lapply(origdata[idx], as.factor)

参照

欠損値の処理

参照

空白の処理

「gsub」を使う。

参照

プログラミング

演算子

多重ループ

「expand.grid」や「outer」を使うといいらしい。

分散分析

Wilcoxson検定(Mann-Whitney検定)

標準の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")

とするらしい。

カイ二乗検定

dataframeのvar1とvar2でカイ二乗検定したい場合、まず「xtabs」で分割表(クロス表)に集計する。分割表をMtrxとすると、以下のようになる(「addmargins」で合計欄を付加して表示させている)。

Mtrx <- xtabs(~var1 + var2, data = dataframe)
addmargins(Mtrx)

カイ二乗検定は「chisq.test」で分割表(行列形式)を指定してやる(使用するのは合計のない方)。

chisq.test(Mtrx)

参照

計量経済

分析毎に必要なパッケージ類が

でまとめられているので、これをインストールすれば楽。計量経済学のためには

を入れる。入れ方は

install.packages("ctv")
library(ctv)
install.views("Econometrics")

でおけ。

Robustな標準誤差

以下のように書く。

kaiki <- lm(y ~ x1 + x2 + x3, data = hogedata)
coeftest(kaiki, vcov=vcovHC(kaiki, type = "HC1"))

オプションのデフォルトはHC3。HC1にするとStataと同じ結果を得る(Stata13と比較)。

順序Logit

summary(kaiki)だとt値しか出力してくれないので、screenregで有意かどうかを*で出している。

library(MASS)
kaiki <- polr(y ~ x1 + x2 + x3, data = hogedata, method = "logistic")
library(texreg)
screenreg(kaiki)

パネルデータ分析

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")

のように書く。

欠損値について

分析結果の出力

ログの保存

ファイル - ファイルの保存 で保存できる。

わかりやすく書くために

ChromebookでR

その他

適当なリンク。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-01-20 (木) 12:10:33 (259d)