# フォルダを作成
dir.create("data", showWarnings = FALSE)
dir.create("scripts", showWarnings = FALSE)
dir.create("figures", showWarnings = FALSE)
dir.create("tables", showWarnings = FALSE)RとRStudioのインストールと基本的な操作方法
本付録では、RとRStudioのインストール方法および基本的な操作方法を説明する。
Rのインストール
- CRAN(The Comprehensive R Archive Network) にアクセス
- 自分のOSに合ったリンクをクリック
- Windows:「Download R for Windows」→「base」→「Download R-x.x.x for Windows」
- Mac:「Download R for macOS」→ 自分のMacに合ったパッケージを選択
- Apple Silicon Mac(M1/M2/M3):
arm64版を選択 - Intel Mac:
x86_64版を選択
- Apple Silicon Mac(M1/M2/M3):
- ダウンロードしたファイルを実行してインストール
RStudioのインストール
- Posit社のダウンロードページ にアクセス
- 「2: Install RStudio」のセクションで、自分のOSに合ったインストーラをダウンロード
- ダウンロードしたファイルを実行してインストール
RStudioの起動と画面構成
RStudioを起動すると、4つの領域(ペイン)が表示される:
- 左上(Source):スクリプトを編集する場所
- 左下(Console):コードを実行し、結果が表示される場所
- 右上(Environment):作成したオブジェクトを確認する場所
- 右下(Output):ファイル、プロット、ヘルプなどが表示される場所
RStudioの「Tools」→「Global Options」→「Pane Layout」からペインの配置を変更できる。好みに応じて設定してください。
プロジェクトの作成
RStudioではプロジェクトを使ってファイルを管理することを推奨する。プロジェクトを使うことで、ファイルの管理が容易になり、分析の再現性も高まる。
新規プロジェクトの作成
- RStudioのメニューから「File」→「New Project…」を選択
- 「New Directory」→「New Project」を選択
- 以下を設定:
- Directory name:プロジェクト名(例:
association_models) - Create project as subdirectory of:保存先を選択(デスクトップなど分かりやすい場所)
- Directory name:プロジェクト名(例:
- 「Create Project」をクリック
プロジェクトファイル(.Rproj)
プロジェクトを作成すると、フォルダ内に.Rprojファイルが生成される。このファイルをダブルクリックすると、RStudioが起動し、そのプロジェクトフォルダが作業ディレクトリ(working directory)として自動的に設定される。
作業ディレクトリとは、Rがファイルを読み書きする際の基準となるフォルダである。プロジェクトを使用することで、毎回setwd()で作業ディレクトリを設定する必要がなくなる。
フォルダ構成
分析プロジェクトでは、以下のようなフォルダ構成を推奨する:
association_models/
├── association_models.Rproj # プロジェクトファイル
├── data/ # データファイル
├── scripts/ # Rスクリプト
├── figures/ # 出力した図
└── tables/ # 出力した表
RStudioの右下ペインの「Files」タブから「New Folder」でフォルダを作成できる。あるいは、以下のRコードで一括作成することもできる:
ファイルの保存先
作業ディレクトリが設定されていると、ファイルの読み書きは作業ディレクトリを基準に行われる。
# 作業ディレクトリ直下に保存
ggsave("plot.png")
# figuresフォルダ内に保存
ggsave("figures/plot.png")
# dataフォルダからファイルを読み込み
read.csv("data/mydata.csv")プロジェクトを使用する場合、figures/plot.pngのような相対パス(作業ディレクトリからの相対的な位置)を使用する。C:/Users/username/...のような絶対パス(フルパス)は、他の環境で動作しなくなるため避けること。
パッケージのインストール
本書で使用する主要なパッケージをインストールする。以下のコードをRStudioのコンソールに貼り付けて実行する:
# 本書で使用するパッケージのインストール
install.packages(c(
"tidyverse", # データ操作・可視化
"gnm", # 一般化非線形モデル(連関モデル)
"vcd", # カテゴリカルデータの可視化
"vcdExtra", # vcdの拡張
"broom", # モデル結果の整形
"MASS", # 統計関数
"knitr", # レポート生成
"logmult" # 対数乗法モデル
))初めてのインストールでは数分〜10分程度かかることがある。「パッケージをソースからインストールしますか?(Do you want to install from sources …)」と聞かれたら「No」を選択してください。
インストールが完了したら、以下のコードでパッケージが正しく読み込めるか確認する:
# パッケージの読み込みテスト
library(tidyverse)
library(gnm)
library(vcd)エラーが出なければ成功である。
Rの基本操作
スクリプトの作成
「File」→「New File」→「R Script」でスクリプトファイルを新規作成できる。スクリプトにコードを入力し、「Ctrl + Enter」(Macは「Cmd + Enter」)で実行する。
計算の実行
# 基本的な計算
1 + 1[1] 2
7 * 8[1] 56
sqrt(16)[1] 4
オブジェクトへの代入
Rでは、値や計算結果に名前をつけて保存できる。この「名前をつけた入れ物」をオブジェクトと呼ぶ。<-(代入演算子)を使って、右側の値を左側の名前に代入する。
# xに10を代入
x <- 10
x[1] 10
# ベクトル(複数の値)を代入
y <- c(1, 2, 3, 4, 5)
y[1] 1 2 3 4 5
# 平均を計算
mean(y)[1] 3
作成したオブジェクトは、RStudio右上の「Environment」ペインで確認できる。
データフレーム
データフレームは、行と列からなる表形式のデータ構造である。本書では主にこの形式でデータを扱う。
# データフレームの作成
df <- data.frame(
name = c("Alice", "Bob", "Carol"),
age = c(25, 30, 35),
score = c(80, 90, 85)
)
df name age score
1 Alice 25 80
2 Bob 30 90
3 Carol 35 85
# 行数と列数
dim(df)[1] 3 3
# 構造の確認
str(df)'data.frame': 3 obs. of 3 variables:
$ name : chr "Alice" "Bob" "Carol"
$ age : num 25 30 35
$ score: num 80 90 85
分割表(クロス表)の作成
本書で扱う連関モデルでは、分割表(クロス集計表)が基本的なデータ形式となる。
# 度数からクロス表を作成
freq <- c(1275, 364, 274, 272,
1055, 597, 394, 443,
1043, 587, 1045, 951,
1159, 791, 1323, 2046)
# 行列形式に変換
tab <- matrix(freq, nrow = 4, byrow = TRUE)
rownames(tab) <- c("Upper", "Upper-middle", "Lower-middle", "Lower")
colnames(tab) <- c("Upper", "Upper-middle", "Lower-middle", "Lower")
tab Upper Upper-middle Lower-middle Lower
Upper 1275 364 274 272
Upper-middle 1055 597 394 443
Lower-middle 1043 587 1045 951
Lower 1159 791 1323 2046
# クロス表を表示
as.table(tab) Upper Upper-middle Lower-middle Lower
Upper 1275 364 274 272
Upper-middle 1055 597 394 443
Lower-middle 1043 587 1045 951
Lower 1159 791 1323 2046
データフレームから分割表を作成
# サンプルデータの作成
set.seed(123)
sample_data <- data.frame(
row_var = sample(c("A", "B", "C"), 100, replace = TRUE),
col_var = sample(c("X", "Y"), 100, replace = TRUE)
)
# クロス表の作成
table(sample_data$row_var, sample_data$col_var)
X Y
A 16 17
B 11 21
C 17 18
# tidyverseを使う場合
library(tidyverse)
sample_data |>
count(row_var, col_var) |>
pivot_wider(names_from = col_var, values_from = n, values_fill = 0)# A tibble: 3 × 3
row_var X Y
<chr> <int> <int>
1 A 16 17
2 B 11 21
3 C 17 18
困ったときは
パッケージのインストールでエラーが出る
# CRANのミラーを明示的に指定
install.packages("gnm", repos = "https://cran.rstudio.com/")日本語のファイルパスで問題が起きる
プロジェクトフォルダは、日本語を含まないパス(例:C:/Users/username/Documents/association_models)に作成することを推奨する。
Macで「開発元を確認できない」と表示される
「システム設定」→「プライバシーとセキュリティ」から、該当するアプリの実行を許可する。