Rの導入

SappoRo.R #7

前田和寛(@kazutan)

2016/10/29

1 自己紹介

1.1 基本データ

icon

2 Rってなに?

2.1 統計解析を主とした環境

  • オープンソース
    • コードが公開されています
  • クロスプラットフォーム
    • Windows, Mac, LinuxでもOK
  • (基本的に)CUI
    • むしろ喜べ、コードを叩ける幸せを
  • 非常に活発!!
    • 書籍やWebなど情報たくさん!
    • 全国各地で勉強会が開催!

2.2 Rのいいところ

  • 基本無料
    • 無課金(?)でもいけるけど、学習コストなどは(場合によっては)他より発生するかも
  • 実装がはやい
    • 世界中のいろんな人が開発してるので、大抵の分析は誰かが実装してる
  • 自分で実装できる
    • やりたい分析がみつからない→「なら自分で作ればいい」
  • 大抵のことはRで完結
    • 本当にいろんなことができます

2.3 Rでできるいろんなこと

  • Office suite系も
    • ドキュメント作成、集計表、グラフ、プレゼンスライドもOK
  • 普通は専用ソフトが必要なことも
    • テキストマイニング、シミュレーション、Webスクレイピング、地図統計もOK
  • 疲れた時の気分転換も
    • ライフゲーム、数独、マインスイーパも…

2.4 Rのちょっと残念なところ

  • 速くは、ない
    • 処理にもよるけど最速ではない
  • 英語が中心
    • 特にヘルプは全て英語
  • 文字コード関連
    • よく地雷が埋まってる

3 Rのインストール

3.1 Rのインストール

  1. 「r」で検索
  2. 左のCRANをクリック
  3. 近いところ、もしくは0-Cloudをクリック
  4. 「Download R for 」で自分のOSを選択
  5. 以降それに順してインストール

R-Project

3.2 Windowsへの導入

  • baseをダウンロードしてインストール
    • 日本語で可能です
    • よっぽどな理由がない限り32bit版は不要です
  • Rtoolsもダウンロードしてインストール
    • 今後のことを考えて、入れておくことをおすすめします

3.3 MacOSへの導入

  • Mavericks(10.9)以降
    • R-3.3.1.pkgをダウンロードしてインストール
  • Snow Leopard(10.6)- Mountain Lion(10.8)
    • R-3.2.1-snowleopard.pkgをダウンロードしてインストール
  • Homebrewを使用する場合
    • ググってください

3.4 Linuxへの導入

省略します。

4 RStudioのすすめ

4.1 Rの統合開発環境

  • いろんなことが楽にできます
    • クロスプラットフォーム
    • 「プロジェクト」としてファイルを管理
    • 様々なファイルを編集可能
    • コード補完機能、データ読み込みなど
    • 出力もラクラク etc…

4.2 RStudioのインストール

特に設定は(現時点で)考えなくていいです。さっそく起動させましょう

4.3 RStudioの画面

rstudio画面

4.4 RStudioの各ペイン

  • Source Editor
    • スクリプトやファイルなどを編集する場所
    • ソースコードを記述して保存・実行
    • 多くの人が一番利用するところ

source editor

4.5 RStudioの各ペイン

  • Console
    • Rと会話するところ
    • コマンドを記述して実行
    • ちょろっと作業するときはここ

console

4.6 RStudioの各ペイン-右上

  • Environment, Historyなど
    • Environment
      • 現在R上にあるオブジェクトなど
      • データとかを確認可能
    • History
      • コンソールで実行したコマンドの履歴

env

4.7 RStudioの各ペイン-右下

  • Files, Plot, Packages, Helpなど
    • Filesでディレクトリ(フォルダ)にアクセス可能
    • Plotsに作図した図(グラフなど)が出力
    • Packagesでパッケージの管理
    • HelpでRのヘルプの検索・閲覧

files

4.8 詳細は省略…

  • RStudioは「Rを便利にするもの」
    • それ以上でもそれ以下でもない
    • Rが使えないと意味がない!!
  • まずはRStudioチートシート(英語)を一読しましょう

5 Rに触れてみよう

5.1 Hello, World

コンソールの使い方

以下が「コマンド?」状態:

>

試しに以下のコードをコンソールに入力してEnter

1+1

ついでにこれもやってみよう

41^2*271^2

5.2 関数を使おう

2の平方根を算出するには?

sqrt(2)
## [1] 1.414214
  • 関数とは「inputに対して決まった命令を実行してoutput」
  • 上の場合、2という値を「その平方根を計算」して1.4142136を出す
    • この2を引数(Arguments)といいます
    • そして出てきた結果が出力(Value)です
  • 関数は、関数名(引数, 引数, 引数, …)という感じで書きます

5.3 オブジェクトを使おう

Rは数値や文字などをオブジェクトという単位で管理

# 今夜のbeerは500円です
beer <- 500
# beerの値段をRに聞いてみる
beer
## [1] 500
  • このbeerがオブジェクトです
    • 変数に感覚が近いです
    • いろんなものを入れて管理できます

5.4 オブジェクトに文字列を

# 文字列を入れるときは""で挟む
drink <- "beer"
drink
## [1] "beer"
# c()関数でまとめて入れることも可能
drink <- c("beer", "sake", "shochu")
drink
## [1] "beer"   "sake"   "shochu"

5.5 オブジェクトに数値を

# 数値もまとめて可能
price <- c(500, 650, 450)
price
## [1] 500 650 450
# こんなこともできます
seki <- 1:10
seki
##  [1]  1  2  3  4  5  6  7  8  9 10

5.6 オブジェクトを操作

# 2つ目の要素にアクセス
price[2]
## [1] 650
# 平均価格を算出しましょう
mean(price)
## [1] 533.3333
# 税込価格を計算しましょう
price * 1.08
## [1] 540 702 486

5.7 data.frameとは

簡単に言えばスプレットシートみたいな形のデータ

head(iris, 4)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
  • 列が変数、行が1サンプル
  • 列の長さは全て同じ(矩形)
  • 扱い方は別途説明

6 パッケージ

6.1 パッケージって何?

  • すごくざっくり言うと関数とかデータセットとかをまとめたもの
    • ツールセットみたいなイメージ
    • Rでできることを広げてくれます
  • 現在CRANに登録されているパッケージ数はこれで調べられます:
nrow(available.packages())

6.2 パッケージのインストール

例としてggplot2を使ってみます

install.packages("ggplot2")
  • これでインストールできます
  • たまにエラーを返すことがあります
    • 多くはパッケージの依存関係が原因です
    • OSによって違ったり、そのマシンの環境によっても違ったり…
    • 難しかったら身近な詳しい人や「Rなんでも相談室」で聞きましょう

6.3 読み込みと実行

散布図を描きます

# パッケージをRで読み込む
library("ggplot2")

# この中のggplot()関数を利用
ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, col=Species)) +
  geom_point()

7 Rをもっと使えるように

7.1 Webで資料を探す

7.2 おすすめの書籍

7.2 みんなのR

  • Rをさわりはじめた方に最適!!
  • 圧倒的…圧倒的ボリューム!!
  • RStudioや新しいパッケージなどモダンな使い方が学べます
  • これ1冊を写経できれば十分にOK

みんなのR

7.3 改訂3版 R言語逆引きハンドブック

  • 初心者から中級者まで
  • サンプルコード満載
  • 困ったらこれを開く。
    古事記にもそう書いてある

gyakubiki

7.4 勉強会に出よう

メリット

  • 知識が増える
  • 刺激になる
  • つおいひとと知り合える
  • 仲間に出会える

デメリット

  • 多くが不定期開催
  • 地方だと頻度が少ない
  • 内容が自分とあわないことも

7.5 SNSやチャットを活用

Twitter

  • Rユーザーをフォローしてみよう
    • いろんな情報がガンガン垂れ流されてきます
  • うまくいかないことをTLに流してみよう
    • 誰かがそっと教えてくれるかも?

r-wakalang

  • “r-wakalang”もしくは“r-wakalang GitHub”で検索!
    • すごい人たちが質問を待ってます
    • 眺めているだけでも勉強になります

Enjoy!