データ分析法・第1回「R言語の紹介と基本統計量の復習」
データ分析法学習
授業情報
| 項目 | 内容 |
|---|---|
| 科目 | データ分析法 |
| 回数 | 第1回 |
| テーマ | R言語の紹介と基本統計量の復習 |
| 日付 | (未記入) |
1. R言語とは
R言語(単に「R」とも呼ばれる)は、統計解析ソフトウェアの1つ。多くのデータアナリストに使われているスタンダードなソフト。
- ①フリーソフト:誰でも無料でPCにインストールして使用できる(SAS・SPSSなどは高額で個人購入は非現実的)
- ②オープンソース:プログラム(ソースコード)が無料で公開されており、誰でも改良・再配布が可能
- 標準実装されていない分析手法は「パッケージ」としてまとめられ、ダウンロード・インストールすることで使用可能になる
- パッケージの多くは CRAN や Bioconductor で公開されている
1-1. Rのダウンロードとインストール
- Windows:CRANサイト(https://cran.r-project.org/)から「Download R for Windows」→「base」→最新版exeをダウンロードしてインストール
- インストール言語は文字化け防止のため "English" を選択するのが無難(インストール中のメッセージ用の言語であり、使用時の言語とは別)
- 日本語メッセージが必要な場合は "Message translations" にチェック
- それ以外はデフォルトのまま "Next>" で進めばOK
- Mac:各自で検索してインストール
2. Rの使い方の基本
2-1. フォントの設定
- メニュー「編集」⇒「GUIプリファレンス…」で設定画面が開く
- デフォルトは "Courier New"。等幅フォントにしたい場合は "MS Gothic" などに変更
- 文字サイズは "size"、太字は "style=bold" で変更
- 「Apply」で確認 → 「Save」で保存("Rconsole"というファイルに保存される)→ 次回は「Load」で同じ設定を再開可能
2-2. 計算式の入力
半角英数で計算式を入力しENTERで計算結果が表示される。式中にスペースがあっても問題ない(例:2 + 3)。
| 計算式 | 意味 | 計算式 | 意味 |
|---|---|---|---|
+ | 足し算 | / | 割り算 |
- | 引き算 | ^ | 累乗 |
* | 掛け算 |
2-3. 関数の使用
よく使う計算は関数として用意されている。
sqrt(2) # 2の平方根を計算
2-4. 関数のヘルプ
関数名の前に ?(半角クエスチョン)をつけるとヘルプページが開く。
?round # round関数のヘルプを表示
2-5. 変数への代入(代入演算子)
変数 = 計算式 の形で入力すると、その変数に計算結果が代入される。代入した変数は他の計算式にも使用できる。
x = 1 + 2 # xに3が代入される
=の代わりに<-でも代入できる- 関数の結果などを代入する場合は、適用範囲が厳密な
<-を使うのが一般的
2-6. 変数の注意点
-
半角英数のほか全角かなも使用可能(例:「得点」「評価」もOK)
-
大文字・小文字は区別される(
Xとxは別物) -
半角数字も使用可能だが、変数名の先頭には使えない(
f1はOKだが1fはNG) -
以下は変数名として使用できない:
breakelseFALSEforfunctionifinInfNANaNnextNULLrepeatTRUEwhile
3. データの読み込み
読み込み方法は3種類:
- 直接入力する
- Excelファイルを直接読み込む(専用パッケージが必要。CSV形式で保存してから読み込む方が簡単なのでおすすめ)
- テキストファイル(CSV/TSV)を読み込む
3-1. 直接入力(c()関数)
x1 <- c(22, 31, 27, 20, 28, 42, 19) # 連続データをベクトルとして変数に代入
- 数値はカンマ区切り
- 文字列ではなくベクトルとして代入されるため、そのまま計算に使える
3-2. ファイルを読み込む(read.csv()関数)
- Excelでデータを作成 → CSV形式で保存(保存時のダイアログはすべて「はい」でOK)
- 先頭行に**変数名(列名)**を残しておくとよい
- ⚠️ 講義内では、CSVの列見出し(例:"a")はRの「変数」と区別するため「引数」と呼ぶ
- Rのメニュー「ファイル」⇒「ディレクトリの変更」で作業ディレクトリ(読み込み・書き出し先のフォルダ)を指定する
- Mac版は「その他」⇒「作業ディレクトリの変更」
x2 <- read.csv("data1.csv") # 先頭行を変数名として自動認識
x2 <- read.csv("data1.csv", header=F) # 先頭行も数値データとして読み込む場合
read.csv()で読み込んだデータはデータフレームという型になる。見た目は2次元配列だが、行・列にラベルがあり、ラベルで操作できる
⚠️ ファイル読み込み時によくあるエラー(参考資料②より)
- 作業ディレクトリの指定間違い・指定先にファイルが無い
- コマンド中に全角文字が混ざっている(
"().などは必ず半角で)- zipファイルから直接読み込もうとしている → 解凍してから読み込むこと
4. 統計量の算出
4-1. 平均値(算術平均)
mean()関数の( )内に計算対象の変数・引数を指定する。
mean(x) # ベクトルxの平均値
mean(x$a) # データフレームxの中の引数aの平均値(「変数$引数」で指定)
4-2. その他の統計量
Table 1.2 代表的な関数①
| 関数名 | 意味 | 関数名 | 意味 |
|---|---|---|---|
sqrt(x) | 平方根 | mean(x) | 平均値(算術平均) |
abs(x) | 絶対値 | sd(x) | 標準偏差(不偏推定値) |
round(x) | 四捨五入 | var(x) | 不偏分散 |
exp(x) | 指数関数 | sum(x) | 総和 |
log(x) | 自然対数 | median(x) | 中央値 |
log10(x) | 常用対数 | min(x) | 最小値 |
max(x) | 最大値 |
Table 1.3 代表的な関数②
| 関数名 | 意味 | 出力される統計量 |
|---|---|---|
range(x) | 範囲 | 最小値・最大値 |
summary(x) | 要約統計量 | 最小値・第1四分位・中央値・平均値・第3四分位・最大値 |
fivenum(x) | 5数要約 | 最小値・第1四分位・中央値・第3四分位・最大値 |
quantile(x) | クォンタイル点 | 最小値・第1四分位・中央値・第3四分位・最大値 |
IQR(x) | 四分位偏差 | 第3四分位-第1四分位 |
5. 例題・練習問題
例題①:直接入力(c()関数)
データ:54, 67, 50, 48, 64, 77(小数点は2桁まで)
x <- c(54, 67, 50, 48, 64, 77)
mean(x) # 平均値
sd(x) # 標準偏差(不偏推定値)
median(x) # 中央値
| ①平均値 | ②標準偏差 | ③中央値 |
|---|---|---|
| 60 | 11.26 | 59 |
例題②:CSV読み込み(配布資料 data2.csv)
a群・b群それぞれの統計量を算出。
x <- read.csv("data2.csv")
mean(x$a); sd(x$a); median(x$a)
mean(x$b); sd(x$b); median(x$b)
| ①平均値 | ②標準偏差 | ③中央値 | |
|---|---|---|---|
| a | 187.77 | 8.19 | 187 |
| b | 156.85 | 8.05 | 157 |
練習問題①:CSV読み込み(配布資料 data3.csv)
a群・b群それぞれの統計量を算出。
x <- read.csv("data3.csv")
mean(x$a); sd(x$a); median(x$a)
mean(x$b); sd(x$b); median(x$b)
| ①平均値 | ②標準偏差 | ③中央値 | |
|---|---|---|---|
| a | 59.5 | 8.44 | 59 |
| b | 65.4 | 9.49 | 64 |
まとめ
- R:無料・オープンソースの統計解析ソフト。「パッケージ」を追加インストールすることで分析手法を拡張できる
- 代入:
<-(推奨)または=。全角かなの変数名も可、ただし予約語・数字始まりはNG - データ読み込み:直接入力は
c()、外部ファイルはread.csv()(先頭行は変数名、$で引数を指定) - 基本統計量:
mean()sd()median()var()sum()range()summary()quantile()など - ファイル読み込みエラーの多くは「作業ディレクトリの指定ミス」「全角/半角の混在」「zip未解凍」が原因