R Studio のインストールと使い方
1.インストール
RStudio Desktop - Posi の中段よりOSにあったインストーラーをダウンロードしてください.
Rstudio (R のプログラミングのためのアプリ)を初回起動する時にR(統計解析用のプログラミング言語)のインストールを求められるので自分のPCにあったバージョンを選択してください.
2.RStudio の画面構成
RStudio を起動すると下のような画面になります.
# 2回目以降は前回終了時の設定を引き継ぎます.
# ウィンドウの位置や大きさはバージョンによって異なります.
左上:スクリプト
Rスクリプトを書きます.右上:コンソール
コマンドを直接書いて実行できます.
Rスクリプトを実行する場合は結果が表示されます.左下:環境
Environmentタブ:使用している変数や関数の情報
Historyタブ:コマンド履歴
右下:ファイル・プロット・パッケージ・ヘルプ etc.
Filesタブ:ディレクトリ内のファイルを表示する
Plotタブ:スクリプトを実行して作成した図を表示する
Helpタブ:関数のヘルプ情報を表示する
Packagesタブ:読み込み可能なパッケージのリストを表示する
3.簡単な入力と動作確認
Console タブに以下のように打ち込んで Enter キーを押してください.
注:# はコメントです.入力する必要はありません.
> 1 + 1 # 1+1 でもよい.
すると次のような計算結果が返ってきます.
[1] 2 # 左側の [] はひとまず無視してください.
他にも以下のように計算できます.
> 3 - 1 # 引き算
[1] 2
> 2 * 2 # 掛け算
[1] 4
> 4 / 3 # 割り算
[1] 1.333333
> 10 %% 3 # あまり
[1] 1
> 2 ^ 5 # べき乗
[1] 32
> sqrt(25) # ルート
[1] 5
> floor(2.1) # 切り捨て
[1] 2
> ceiling(2.3) # 切り上げ
[1] 3
> round(3.2) # 四捨五入
[1] 3
変数を作成する場合は "a <- 2" と書いてください.変数の定義と値の代入を同時にできます.Rstudio では ”<-" を ショートカット [alt] + [-] で入力できます.
> a <- 2 # a という変数に スカラー 2 を割り当てます.
> a # 変数の中身の確認
[1] 2
> b = 2 # <- の代わりに = を使えます.
> b # 変数の中身の確認
[1] 2
ベクトルを作成する場合は "d <- c(1,2)" と書いてください.c(要素1, 要素2, 要素3) はベクトル (要素1, 要素2, 要素3) を作成する関数です.
> c <- c(1,2) # (1,2) というベクトルを作成
> c
[1] 1 2
> d <- c(2:4) # (2,3,4) というベクトルを作成
> d
[1] 2 3 4
> e <- c(d,a) # ベクトル d を連結したベクトルの作成
> e
[1] 2 3 4 2
> e[1] # ベクトル要素へのアクセス
[1] 2
> e[2] # ベクトル要素へのアクセス
[1] 3
作成した変数と格納されている情報は左下の Environmentタブ で確認できます.
行列を作成する場合は "f <- matrix(1:12, nrow = 3, ncol = 4)" と入力してください.関数matrix( ) によりベクトル(1,2,…,12) を3行4列の行列に変形しています.
> f <- matrix(1:12, nrow = 3, ncol = 4)
> f
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> f[2,3] #行列の要素へのアクセス
[1] 8
> f[2,] #行列の行へのアクセス
[1] 2 5 8 11
> f[,2] #行列の列へのアクセス
[1] 4 5 6
> g <- matrix(12:1, nrow = 3, ncol = 4, byrow = TRUE)
> g
[,1] [,2] [,3] [,4]
[1,] 12 11 10 9
[2,] 8 7 6 5
[3,] 4 3 2 1
行列の演算は下記のようにします.
> f <- matrix(1:12, nrow = 3, ncol = 4)
> f
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> g <- matrix(12:1, nrow = 3, ncol = 4, byrow = TRUE)
> g
[,1] [,2] [,3] [,4]
[1,] 12 11 10 9
[2,] 8 7 6 5
[3,] 4 3 2 1
> f + g #行列要素の加算
[,1] [,2] [,3] [,4]
[1,] 13 15 17 19
[2,] 10 12 14 16
[3,] 7 9 11 13
> f - g #行列要素の減算
[,1] [,2] [,3] [,4]
[1,] -11 -7 -3 1
[2,] -6 -2 2 6
[3,] -1 3 7 11
> f * g #行列要素の掛け算
[,1] [,2] [,3] [,4]
[1,] 12 44 70 90
[2,] 16 35 48 55
[3,] 12 18 18 12
> f / g #行列要素の割り算
[,1] [,2] [,3] [,4]
[1,] 0.08333333 0.3636364 0.700000 1.111111
[2,] 0.25000000 0.7142857 1.333333 2.200000
[3,] 0.75000000 2.0000000 4.500000 12.000000
行列の積や転置,逆行列の計算は下記のようにします.
> h1 <- matrix(1:9, nrow = 3, ncol = 3)
> h1
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
> h2 <- t(h1) #行列の転置
> h2
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
> h1 %*% h2 #行列と行列の積
[,1] [,2] [,3]
[1,] 66 78 90
[2,] 78 93 108
[3,] 90 108 126
> diag(h1) <- diag(h1) + 1 #行列の対角成分の操作
> h1
[,1] [,2] [,3]
[1,] 2 4 7
[2,] 2 6 8
[3,] 3 6 10
> solve(h1) #逆行列の計算
[,1] [,2] [,3]
[1,] -6 -1.0 5
[2,] -2 0.5 1
[3,] 3 0.0 -2
4.パッケージ
R で「特定の機能を実現するための関数など」をまとめたものがパッケージとして公開されています.それらをインストールして読み込むことで使用できるようになります.
今回は,データ分析を効率的に作業するための機能を集めたパッケージ tidyverse,エクセルからデータを読み込むためのパッケージ readxl,離散選択モデル(ロジットモデル,プロビットモデル)を推定するためのパッケージ mlogit をインストールします.
コンソールに以下の命令文を1行ずつ入れて実行するとインストールを開始します.
> install.packages("tidyverse")
> install.packages("mlogit")
> install.packages("readxl")
インストールしたパッケージは Rstudio を立ち上げるたびに読み込む必要があります(前回 Rstudio を閉じたときの設定が残っている場合は不要).
> library(tidyverse)
> library(mlogit)
> library(readxl)
5.スクリプトの作成と実行
コンソールに命令文を入力する方式は計算結果を確認しながら対話形式で分析する場合には便利です.しかし,複数の命令を組み合わせた大規模な分析を一気に実行するには不向きです(対話型だと途中の分析手順の記録が残りませんしね).
一般的には Rスクリプトファイル に複数の命令をまとめて記述しておき,それを実行します.
(1)Rスクリプトファイルの作成
Rスクリプトファイルは File > New File > R Script で新規作成します.作成したら File > Save As で名前をつけて保存しましょう.Rスクリプトファイルや分析に用いるデータは同じフォルダに入れておいてください.
(2)Rスクリプトファイルの実行
作成したスクリプトファイルに下のコードをコピー&ペーストしてみてください.ファイルの上書き保存(File > Save)もしてください.
# コンソールの初期化
# CTR + L でもOK
cat("\f")
# 変数一覧の表示
ls()
#ワークスペースの初期化
rm(list=ls())
# ライブラリの読み込み
library(mlogit)
library(readxl)
#------------------------------------------------------------------
# スカラーとベクトルの定義
a <- 2
b = 2
c <- c(1,2)
d <- c(2:4)
e <- c(d,b)
# 行列の定義と演算1
f <- matrix(1:12, nrow = 3, ncol = 4)
g <- matrix(12:1, nrow = 3, ncol = 4, byrow = TRUE)
f + g
f - g
f * g
f / g
h
# 行列の定義と演算2
h1 <- matrix(1:9, nrow = 3, ncol = 3)
h1
h2 <- t(h1)
h2
h1 %*% h2
diag(h1) <- diag(h1) + 1
h1
solve(h1)
#------------------------------------------------------------------
#変数名の付け方
link.cost <- c(1:3) # ピリオドを利用
link_cost <- c(1:3) # アンダースコアを利用(スネークケース)
linkCost <- c(1:3) # 大文字を利用(キャメルケース)
LinkCost <- c(1:3) # 大文字を利用(パスカルケース)
コードをまとめて実行したい場合はコンソール画面の右上にある Source ボタンを押してください(Ctrl + Shift + S でもOK).
カーソルのある行のみ,あるいは,選択している複数の行を実行したい場合は同じくコンソール画面の右上にある Runボタンを押してください(Ctrl + Enter でもOK).
フォルダ名に日本語の文字が入っていると Sourceボタンを押すとエラーが出る場合があります.その場合は全ての行を選択して Rueボタンを押してください(Ctrl + A ⇒ Ctrl + Enter).
Code > Run Region > Run From Beginning To Line から1行目からカーソル行までの実行などもできます.
(3)コメント行
Ctrl + Shift + C でコメント行にしたり非コメント化にしたりできます.グループ内で共同作業する場合にはコメント行を有効利用するとよいでしょう.
install.packages("パッケージ名") などは毎回インストールする必要はありませんが,忘れる可能性もあるのでコメント行にして残しておくとよいかもしれません.
6.その他
(1)変数名のつけ方
変数名には英数文字 ( a-z, A-Z, 0-9, ピリオド . ,アンダースコア _ )を利用できます.
大文字と小文字は区別します.
最初の文字に数字は利用できません.
link.cost <- c(1:3) # ピリオドを利用
link_cost <- c(1:3) # アンダースコアを利用(スネークケース)
linkCost <- c(1:3) # 大文字を利用(キャメルケース)
LinkCost <- c(1:3) # 大文字を利用(パスカルケース)
.link.cost <- c(1:3) # ピリオドから開始できます
_link.cost <- c(1:3) # アンダースコアでも開始できます
(2)ショートカット
ショートカットを覚えるとプログラミング作業を効率化できます.軽く眺めてみて便利そうなものは試してみるとよいです.