10分で分かるr言語入門 短縮バージョン 15-0117_upload用

43
10分で分かる R言語入門 ver2.11 大城信晃 2015/01/15 TokyoR#45 1 3分バージョン

Upload: nobuaki-oshiro

Post on 21-Jul-2015

3.235 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

10分で分かる R言語入門 ver2.11

大城信晃 2015/01/15 TokyoR#451

3分バージョン

Page 2: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

自己紹介• 名前:大城信晃

• Twitter:doradora09

• 職業:データマイニングエンジニア

• R:勉強中。

• 業務ではhadoop使ってます

• マイブーム:

• カクテル作り

• カメラ

! 2

Page 3: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

執筆しました!(一部)

http://www.amazon.co.jp/dp/47981349023

Page 4: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

これまで/現在の仕事•ショッピング関連

•商品/製品DB 保守開発

•データ分析関連

•行動ターゲティング

• DMP

•データを使って顧客像を探る 4

Page 5: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

TokyoRでは

•第1回から主に運営側で参加

•初心者セッション

•懇親会(ピザ、お酒)

5

Page 6: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

会場 & ビール 提供

6

VOYAGE GROUPさん ありがとうございます!

Page 7: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

本セッションの役割

•「10分で分かるR言語入門」の要点を絞った紹介

•後のセッション理解のための準備

•資料は後ほど公開しますのでざっと眺めていただければと思います

7

Page 8: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

アジェンダ

•自己紹介 • Rって何

• Rの使い方

• Rの資料(省略)

8

Page 9: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

詳細•下記スライドをご参照下さい

• http://www.slideshare.net/akiaki5516/10rver210-14-1101

9

Page 10: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

懇親会も是非 ご参加下さい!

10

Page 11: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

アジェンダ

•自己紹介とお知らせ

•Rって何 • Rの使い方

11

Page 12: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

R言語(アールげんご)は、オープンソースでフリーソフトウェアの統計解析向けプログラミング言語、及びその開発実行環境である。

Wikipediaより引用

12

Page 13: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

特徴 価格 大規模データ 速度統計特化 無料 △

(メモリ依存)△

SAS/ SPSS 統計特化 数十万~ ○ ○

エクセル 直感的 1万~ × (約100万行)

×

C++ 高速だが 開発コスト高

無料~ 数万

実装次第 ◎

Python スクリプト 言語

無料 実装次第 ○

他言語との比較

13

Page 14: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

こんな方におすすめ

•色々な統計手法を試してみたい方

•エクセルでは物足りない方

•まずは無料で始めてみたい方

14

Page 15: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

アジェンダ

•自己紹介とお知らせ

• Rって何

•Rの使い方

15

Page 16: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

Rの使い方•ベーシックなRコンソール (今回説明)

• 便利なRStudio (オススメ)

16

Page 17: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

インストール

Windows http://cran.md.tsukuba.ac.jp/bin/windows/base/

Mac http://cran.md.tsukuba.ac.jp/

Linux http://cran.md.tsukuba.ac.jp/

17

Page 18: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

Rコンソール起動

18

Page 19: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

Rコンソール起動

ココに処理を 記述していく

19

Page 20: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

処理の記述

3+5 = 8 10-7 = 3

20

Page 21: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

処理

解析の流れデータ

レポート

変数配列行列

データフレーム

関数

パッケージ

自作関数

作図CSV21

Page 22: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

ここでは• 変数:1種類の型の値を1つ入れる箱(スカラー)

• 配列:1種類の型の値を複数入れる箱(ベクトル)

• 行列:1種類の型の複数ベクトルをまとめて表現

• データフレーム:複数の型のベクトルをまとめて表現

22

=> データフレームが超大事

Page 23: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

複数の型を持てる> sex <- c("F","F","M","M","M") #性別

> height <- c(158,162,177,173,166) #身長

> weight <- c(51,55,72,57,64) #体重

> ( x <- data.frame(SEX=sex, HEIGHT=height, WEIGHT=weight) )

SEX HEIGHT WEIGHT

1 F 158 51

2 F 162 55

3 M 177 72

4 M 173 57

5 M 166 64

データフレーム

23

Page 24: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

複数の型を持てる> sex <- c("F","F","M","M","M") #性別

> height <- c(158,162,177,173,166) #身長

> weight <- c(51,55,72,57,64) #体重

> ( x <- data.frame(SEX=sex, HEIGHT=height, WEIGHT=weight) )

SEX HEIGHT WEIGHT

1 F 158 51

2 F 162 55

3 M 177 72

4 M 173 57

5 M 166 64

性別(文字列型) 身長、体重(数値型)

データフレーム

data.frame関数で セット

24

Page 25: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

要素の指定> x$HEIGHT

[1] 158 162 177 173 166

!

> x$HEIGHT[1]

[1] 158

!

> x$HEIGHT[1:3]

[1] 158 162 177

$で 身長(HEIGHT) を全指定

データフレーム

身長1つめだけ

身長1-3番目

25

Page 26: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

CSV

処理

解析の流れデータ

レポート

変数配列行列

関数

自作関数データフレーム

パッケージ

作図26

Page 27: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

ここでは•組み込み関数:基本的な演算が可能

• CSV:read.csv関数でCSV形式のデータを読み込める

•自作関数:自身で関数を定義できる

27

=> read.csv系は便利

Page 28: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

処理の呼び出し関数

目的 関数名と書式データの結合 C(データ)

合計 sum(データ)個数を求める length(データ)

平均 mean(データ)標準偏差 sd(データ)・・・ ・・・

28

Page 29: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

関数CSV> hawks <- read.csv("hawks.csv")

!

> hawks

height salary

1 173 17000

2 178 14000

3 180 9000

CSV読み込み

29

Page 30: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

関数CSV> hawks <- read.csv("hawks.csv")

!

> hawks

height salary

1 173 17000

2 178 14000

3 180 9000

read.csv関数に hawks.csvという CSVファイルを

渡して 変数に代入

CSV読み込み

30

Page 31: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

CSV読み込み関数CSV> hawks <- read.csv("hawks.csv")

!

> hawks

height salary

1 173 17000

2 178 14000

3 180 9000

CSVファイルの 変数への 読み込みが 確認できる

31

Page 32: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

補足:クリップボード関数

#windowsの場合!>hawks <- read.table("clipboard", header=TRUE,sep=’,’);!#macの場合!>hawks <- read.table(pipe("pbpaste"), header=TRUE,sep=’,’)!> hawks! height salary!1 173 17000!2 178 14000!3 180 9000!

クリップボードからも 読み込み可能

CSV

32

Page 33: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

処理

解析の流れデータ

レポート

変数配列行列

関数

パッケージ

自作関数

作図CSVデータフレーム

33

Page 34: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

ここでは•作図関数:可視化が可能

•パッケージ:CRANからダウンロードして利用する

34

=> パッケージ利用が超大事

Page 35: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

関数をまとめたもの

•複数の関数をまとめたもの

•様々なパッケージがCRANというシステムにて無料公開されている

•自作のパッケージも公開できる

パッケージ

35

Page 36: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

•作図パッケージggplot2を使えるようにする

36

Page 37: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

> install.packages(“ggplot2”)

> library("ggplot2") CRANから パッケージ ダウンロード& インストール

外部パッケージパッケージ作図

パッケージを ロード

37

Page 38: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

qplot(carat, price,

data = diamonds,

colour = clarity)

サンプルデータ diamonds

パッケージ作図

diamonds データの

carat, priceを 描画

38

Page 39: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

補足2:関数調べ方関数CSV

> ?read.table

> ??read.table

>help(read.table)

! ヘルプを 呼び出すことが出来る

39

Page 40: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

> ?read.table

> ??read.table

>help(read.table)

!

補足2:関数調べ方関数CSV

後半には 用例もあるので 参考に

example(‘関数名’)40

Page 41: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

処理

まとめ:Rで一連の分析が可能

データ

レポート41

Page 42: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

再掲:詳細•下記スライドをご参照下さい

• http://www.slideshare.net/akiaki5516/10rver210-14-1101

42

Page 43: 10分で分かるr言語入門 短縮バージョン 15-0117_upload用

•ご清聴ありがとうございました!

43