R入門:統計プログラミング言語「R」とは?
Rは、統計計算やグラフィックス分野において世界で最も普及している言語であり、データ分析や可視化を簡単かつプロフェッショナルに行えるようにします。
このチュートリアルは、経験のない初心者向けに作成されており、「Rとは何か」から始まり、Rを使ってデータ分析プロジェクトを最初から最後まで完遂できるレベルまで段階的に学んでいきます。Rは、学術研究、データサイエンス、統計モデリングにおける事実上の標準であり、世界中で250万人以上のデータサイエンティストに利用されています。
1. 学習内容
- Rとは何ですか?また、どのようなことができるのでしょうか?
- RとPythonの違いと、それぞれの適切な活用シーン
- Rの歴史と設計思想
- Windows、macOS、LinuxへのRのインストール
- RStudio IDE のインストールと使用方法
- 初めてのRスクリプトを作成して実行する
- Rパッケージのエコシステム(CRANおよびtidyverse)
2. データアナリストの実体験
(1) 苦悩:Excelではもう対応しきれない
アリスは市場アナリストで、最近、ある緊急の任務を任された。
「過去12か月分の売上データ @,000 行を、さまざまな観点から分析した6ページのトレンドレポートにまとめなさい。マネージャーは明日の朝までにそれを見たいと言っている。」
作業を始めるためにExcelを開いたところ、次のようなことがわかった:
- @,000行分のデータ Excelファイルを開くだけで5分もかかります。
- 異なる次元を持つ6つのグラフを作成したいのですが、何度もコピー&ペーストを繰り返したり、ピボットテーブルを使ったりすると、3時間もかかってしまいます。
- 「地域、月、製品」という3つの次元に基づいて集計を行うには、3階層のネストされたVLOOKUPを使用する必要があります。
- 作業の最中にExcelが2回クラッシュし、彼はパソコンを叩き壊しそうになった。
結局、彼はどうやってそれを成し遂げたのか? Rに乗り換えたのだ。
(2) Rを用いた解決策
同じタスクに対して、アリスはRで次のように記述しています:
# Load the entire data analysis toolkit with a single line of code
library(tidyverse)
# Read in a single line of code @,000 rows ofData(5 Done in a second)
sales <- read_csv("sales_2024.csv")
# Draw with one line of code 6 Post a picture
sales |>
group_by(region, month) |>
summarise(total = sum(amount)) |>
ggplot(aes(x = month, y = total, color = region)) +
geom_line() +
facet_wrap(~ product) +
labs(title = "2024 Annual Sales Trends(By Region/Products)")
所要時間:5分—データの読み込みに5秒、集計に1秒、6つのグラフの作成に3秒、残りの時間はタイトルの仕上げに費やしました。
それがRの素晴らしさです。最小限のコードで、最も複雑なデータ分析を実行できることです。その設計思想は、「統計学者がツールとの格闘に時間を費やすのではなく、思考に集中できるようにすること」にあります。
3. Rとは何か?
Rは、統計計算およびグラフィックスのためのプログラミング言語であり、1993年にニュージーランドのオークランド大学でロス・イハカとロバート・ジェントルマンによって開発されました。
(1) Rの3つの主な役割
| カテゴリ | 説明 |
|---|---|
| The Statistician's Workbench | 記述統計、仮説検定、回帰分析、ベイズ分析、時系列分析など、あらゆる統計手法を網羅する8,000以上の統計関数を搭載 |
| データサイエンティストの筆 | ggplot2のグラフ作成構文を使えば、たった1行のコードで出版物レベルの品質を持つグラフを作成でき、Pythonのmatplotlibのデフォルトのスタイルを凌駕しています |
| 再現可能な研究のための基準 | R Markdownは、コード、数式、図、テキストを1つの文書に統合します。これは、学術誌への投稿における標準となっています |
(2) Rの主な利点
- 最も包括的な統計手法のコレクション:基本的なt検定から最先端のベイズ推論に至るまで、Rにはあらゆる用途に対応したすぐに使えるパッケージが用意されています
- 可視化分野のリーダー:ggplot2はデータ可視化のゴールドスタンダードであり、PythonやJavaScriptで広く採用されています。
- 学術的な基準:統計学、医学、経済学の学術論文の90%でRが使用されている
- 充実したパッケージエコシステム:CRANには、査読を経た2万を超えるオープンソースパッケージが掲載されています
- 再現性:R Markdownは「コード、データ、論文」を統合した一つの全体としてまとめ上げます
4. RとPythonの違い
多くの初心者が「RとPython、どちらを学ぶべきか」と尋ねます。その答えは、両方学ぶことですが、目的はそれぞれ異なります。
(1) ポジショニングの違いを理解するための1枚のチャート
graph TB
subgraph Division of Labor Among Programming Languages
A[R<br/>Statistical Analysis<br/>Academic Research<br/>Data Visualization]
B[Python<br/>Web Development<br/>Machine Learning<br/>Automation Engineering]
C[SQL<br/>Database Query]
D[JavaScript<br/>Front-End Interaction]
end
style A fill:#e1f5ff
style B fill:#fff4e1
style C fill:#f0e1ff
style D fill:#e1ffe1
(2) 6次元比較表
| 次元 | R | Python |
|---|---|---|
| 設計目標 | 統計学者向け | 汎用プログラミング言語 |
| 専門分野 | 統計分析、データ可視化、学術研究 | Web、機械学習、自動化、一般工学 |
| データサイエンス | tidyverseの連鎖処理 + ggplot2 | pandas + matplotlib/sklearn |
| 学習曲線 | 関数型プログラミング + 統計学の概念 | 命令型プログラミング + ソフトウェア工学 |
| パッケージのエコシステム | CRAN上の統計パッケージ:20,000以上 | PyPI上の汎用パッケージ:400,000以上 |
| 出力 | データレポート(R Markdown) | アプリケーション(Django/Flask) |
(3) 簡単なまとめ
- 統計処理、グラフ作成、論文執筆 → Rを使う
- 製品の開発、ウェブサイトの構築、AIの活用 → Pythonを使う
- データ処理 → どちらでも構いませんが、データサイエンスの分野ではRの方が「本格的」です
5. Rの誕生
(1) 物語を持つ言語
Rは、何もないところから設計されたわけではなく、明確な進化の道筋をたどっています:
- 1976年:ベル研究所が(統計解析専用に設計された)S言語を開発した
- 1993年:ロス・イハカとロバート・ジェントルマンが、Sを基にR言語を設計した
- 名称の由来:2人の著者の名前の頭文字(Ross + Robert)に由来しており、S言語へのオマージュも込められている
- 2000年:R 1.0がリリースされ、Rは成熟期に入った
- 2015年:R 3.0がリリースされ、パフォーマンスが大幅に向上した
- 2024: R 4.4.x(現在のメインストリーム版)
(2) なぜRは30年も続いているのか?
Rは「完璧」な言語というわけではありません(構文には独特な点があり、IDEの起動も遅いですが)、それでも30年間も生き残ってきた理由は次の通りです:
- 統計学者が実際に使っているもの(「ただ使っているだけ」ではないもの)
- パッケージの作成者はユーザーそのものである(問題に直面すると、彼らはパッケージを作成する。CRANは「実用的な知識ベース」となっている)
- 学術界では障壁が設けられている(学術誌は再現可能なRコードの提出を求めている)
6. R のインストール(R 4.x メインプログラム)
Rはオープンソースで無料です。インストールパッケージはCRANのウェブサイトからダウンロードできます。
(1) 各プラットフォームごとのインストール手順
| プラットフォーム | インストール方法 | 備考 |
|---|---|---|
| Windows | R-4.x.x-win.exe をダウンロードし、ダブルクリックしてインストールウィザードの「次へ」をクリック |
64ビットシステムに対応するバージョンを選択 |
| macOS Apple Silicon | R-4.x.x-arm64.pkg をダウンロード |
M1/M2/M3 チップ |
| macOS Intel | R-4.x.x-x86_64.pkg をダウンロード |
旧型のMac |
| Linux (Ubuntu/Debian) | CRANリポジトリ経由 apt install |
以下のコマンドを参照 |
| Linux (Fedora/CentOS) | EPELリポジトリ経由 dnf install |
公式のCRANドキュメントを参照 |
(2) Linuxのインストールコマンド
# Ubuntu/Debian User:Execute the following commands one by one in the terminal
sudo apt update -qq
sudo apt install --no-install-recommends software-properties-common dirmngr
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
sudo apt install -y r-base
(3) インストールを確認する
インストールが完了したら、システムターミナルを開き、次のコマンドを入力してください:
R --version
期待される出力:
R version 4.4.1 (2024-06-14) -- "Race for Your Life"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu
Rのバージョン番号が表示されていれば、メインプログラムのインストールは正常に完了しています。
R(大文字)と入力すると、Rの対話型REPLが起動します。Rを終了するには q() と入力してください。Windowsでは、「スタートメニュー → R」からRを起動することもできます。
7. RStudio のインストール(推奨 IDE)
Rには基本的なグラフィカルユーザーインターフェースが備わっていますが、Rユーザーの99%はRStudioを使用しています。RStudioはPosit, Inc.が開発したR専用のIDEであり、世界中のRユーザーにとって標準的なツールとなっています。
(1) RStudioをダウンロードする
Positの公式サイトにアクセスして、RStudio Desktopの無料版(Windows、macOS、Linux対応、約200 MB)をダウンロードしてください。
(2) RStudioの4ペイン表示
RStudioを初めて起動すると、4つのペインが表示されます:
graph TB
A["Source Editor<br/>Source Editor<br/>Write R Scripts and Documentation"]
B["Console<br/>Console<br/>Execute Code,Display Results"]
C["Environment/History<br/>Environment/History<br/>View Variables,Historical Commands"]
D["Documents/Charts/Packages/Help<br/>Files/Plots/Packages/Help"]
A -- "Ctrl+Enter<br/>Run the selected row" --> B
B -- "Assignment Generation" --> C
B -- "plot Drawing" --> D
C -- "Click on the variable name to view" --> D
style A fill:#fff3cd
style B fill:#d4edda
style C fill:#cce5ff
style D fill:#f8d7da
(3) 4ペインメニュー
| パネル | 設置場所 | 主な用途 |
|---|---|---|
| ソースエディタ | 左上 | .R スクリプトや .Rmd ドキュメントを作成し、Ctrl+Enter コンソールへ送信 |
| コンソール | 左下 | Rコードを対話形式で実行し、出力やエラーメッセージを表示する |
| 環境/履歴 | 右上 | 現在のすべての変数(データフレーム、関数など)の一覧;コマンド履歴 |
| ファイル/プロット/パッケージ/ヘルプ | 右下 | ファイルの参照、プロット結果の表示、パッケージのインストール/読み込み、関数のヘルプの参照 |
Tools → Global Options → General → Appearance メニューを使って IDE のテーマ(Tomorrow Night Blue などのダークテーマなど)を切り替えることができます。ただし、エラーメッセージを検索して解決策を見つける際に役立つため、メニューは英語のままにしておくことをお勧めします。
8. 最初のRスクリプト
それでは、最初のRスクリプトを書いてみましょう。ワークフロー全体は以下の通りです:
▶ サンプル:Hello World + 簡単な計算
# ============================================
# My First R Screenplay
# File Name:hello.R
# ============================================
# 1. Comments are marked with # Introduction,Will not be executed
# 2. Used for variable assignment <-
name <- "World"
# 3. Use cat() Output (cat = concatenate, join)
cat("Hello,", name, "!\n")
# 4. R It's a calculator.(Enter the expression directly)
1 + 1
2 * 3
sqrt(144) # Square Root = 12
log(100) # Natural Logarithm
# 5. Performing Calculations Using Variables
pi_value <- 3.14159
radius <- 5
area <- pi_value * radius ^ 2
cat("The radius is", radius, "The area of the circle is approximately equal to", round(area, 2), "\n")
期待される出力:
Hello, World !
[1] 2
[1] 6
[1] 12
[1] 4.60517
The radius is 5 The area of the circle is approximately equal to 78.54
(1) 手順
| ステップ | 操作 | 説明 |
|---|---|---|
| 1 | RStudioでCtrl+Shift+Nを押す |
新しいRスクリプトを作成する |
| 2 | 上記のコードを入力してください | コード全体をコピーして貼り付けてください |
| 3 | Ctrl+S hello.R として保存 |
フォルダを選択 |
| 4 | コードをすべて選択 | Ctrl+A |
| 5 | Ctrl+Enter |
コンソールに送信して実行 |
| 6 | コンソールで出力を確認する | 「Hello, World!」が表示される |
cat() は print() よりも柔軟性が高く、複数のパラメータを連結することができます。\n は改行を表します。<- は R の代入演算子(小なり記号+ハイフン)ですが、これについては次のレッスンで詳しく説明します。
9. Rパッケージのエコシステム
Rの最大の強みは、そのパッケージのエコシステムにあります。世界中の統計学者によって提供された2万を超えるオープンソースのパッケージが、事実上すべての統計手法やデータサイエンスのシナリオを網羅しています。
(1) パッケージ管理の3つの基本要素
# 1. Installation Package (Download from CRAN Mirror, Just do it once)
install.packages("dplyr")
# 2. Load Package(It must be loaded once for each new session.)
library(dplyr)
# 3. View Installed Packages
installed.packages()[, "Package"]
(2) tidyverse:Rにおけるデータサイエンスのための「5点セット」
tidyverseは、Hadley Wickham(ggplot2の作者)が主導する「tidy」パッケージの集合体であり、現代のRデータサイエンスにおける事実上の標準となっています:
| パッケージ | 目的 | 代表的な機能 |
|---|---|---|
| dplyr | データ処理 | filter() mutate() group_by() summarise() |
| ggplot2 | 出版物レベルのグラフィックス | ggplot() geom_point() geom_bar() |
| readr | CSV/TSVの読み書き | read_csv() write_csv() |
| tidyr | データ再構成 | pivot_longer() pivot_wider() |
| stringr | 文字列処理 | str_detect() str_replace() |
# One-time installation 8 A core package(dplyr/ggplot2/readr/tidyr/stringr/purrr/tibble/readxl)
install.packages("tidyverse")
❓ よくある質問
Tools → Global Options → Packages → CRAN mirror で、中国のミラーサイト(例えば清華大学 https://mirrors.tuna.tsinghua.edu.cn/CRAN/ など)に切り替えてください。これにより、処理速度が10倍速くなります。Linuxユーザーは、apt リポジトリを設定する際にも、中国のミラーサイトを選択してください。📖 まとめ
- Rは1993年に開発された統計計算およびグラフィックス言語であり、「統計学者の作業台+データサイエンティストの絵筆+再現可能な研究の標準」と位置づけられている。
- RとPythonの主な違い:Rは統計、学術研究、可視化を主眼としているのに対し、Pythonはエンジニアリング、AI、汎用的な開発を主眼としている
- インストール手順:まず(CRANからダウンロードした)Rのメインプログラムをインストールし、次に(Positのウェブサイトから)RStudio IDEをインストールします。
- RStudioの4ペインレイアウト:ソースエディタ(左上)→ コンソール(左下)→ 環境/履歴(右上)→ ファイル/プロット/パッケージ/ヘルプ(右下)
- 最初のスクリプト:
<-課題 +cat()出力 +#で始まるコメント - tidyverseの5つのパッケージ(dplyr、ggplot2、readr、tidyr、stringr)は、データサイエンスにおけるRの中核をなしています
📝 練習問題
-
基本演習:CRANのウェブサイトにアクセスし、お使いのオペレーティングシステムに対応した最新のRインストールパッケージを見つけ、現在のバージョン番号をメモしてください。RプログラムとRStudioをインストールした後、RStudioの4ペインインターフェースのスクリーンショットを撮り、保存してください。
-
応用演習:RStudioで新しいスクリプトを作成し、「自己紹介」プログラムを記述してください:① 3つの変数を定義します(name
name、ageage、citycity); ②cat()を使用して文を構成し、「My name is [Name], I am [Age] years old, and I am from [City]」と出力してください;③#を使用して、コードの説明となる2~3行のコメントを記述してください。スクリプトを実行した後、スクリーンショットを撮り、コンソールの出力を保存してください。 -
課題:最も興味を引くRパッケージを1つ調べて(推奨:ggplot2 / dplyr / shiny / rmarkdown / forecast)、その目的、代表的な使用例、および実用例(RStudioのウェブサイトや CRANのタスクビュー)で確認できます)。調査結果をドキュメントに保存してください。



