SlideShare a Scribd company logo
1 of 49
Download to read offline
Copyright © BizReach, Inc. All Right Reserved.
初心者のための
RとRStudio入門
Vol.2
株式会社ビズリーチ
サービス企画部
荒金 万琴
Copyright © BizReach, Inc. All Right Reserved.
自己紹介
荒金 万琴(あらがね まこと)
 福岡県出身
→進学のため京都へ(4年間)
→就職を期に東京へ(5年目)
 前職:法人向けソフトウェアメーカーにて
マーケティングを担当(4年間)
• 自社製品サイト、カタログ等の制作
• イベントの主催、出展
• 製品リリースの進行管理 などなど
 サービス自体の企画・
データサイエンティストを志して転職
 2015年4月 ビズリーチ入社(3ヶ月目)
• 自社サービス(ビズリーチ:会員制転職サイト)
の会員属性の調査
• 会員向け施策の効果検証 などなど
2
Copyright © BizReach, Inc. All Right Reserved.
初心者のための
RとRStudio入門
Vol.2
3
Copyright © BizReach, Inc. All Right Reserved.
初心者のための
RとRStudio入門
Vol.2
初心者による
その分、より初心者に沿った内容になっている…
と感じていただければ嬉しいです。
4
Copyright © BizReach, Inc. All Right Reserved.
アジェンダ
 Rについて(3分)
• Rとは
• Rによる分析の流れ
 ハンズオン(50分)
• 分析の流れに沿って操作してみる
 アンケート(2分)
5
Copyright © BizReach, Inc. All Right Reserved.
参加者のみなさまに質問
Rを使ったことはありますか?
本当に初心者ですか??
6
Copyright © BizReach, Inc. All Right Reserved.
今日のゴール
 ご自身で手を動かして、Rの操作を体験する
 「Rでこんなことができるんだ」と
なんとなくわかる
 もう少しやってみたいな、と興味がわく
(といいな)
7
Copyright © BizReach, Inc. All Right Reserved.
まずは
R って何者?
8
Copyright © BizReach, Inc. All Right Reserved.
テトリスみたいな
ゲームを作りたい
0と1しか
わかりませーん
自然言語
プログラミング言語
(仲介)
機械語
Rとは?
9
 分析に特化したプログラミング言語
 統計分析のデファクトスタンダードへと進化
• 「教育現場から実務・研究現場へ永続的に利用可能」 by Wikipedia
 コンパイルが不要で、対話的に分析が可能
Copyright © BizReach, Inc. All Right Reserved.
Rとは?
 分析に特化したプログラミング言語
 統計分析のデファクトスタンダードへと進化
• 「教育現場から実務・研究現場へ永続的に利用可能」 by Wikipedia
 コンパイルが不要で、対話的に分析が可能
 パッケージの導入で、非常に多くの分析や機械学習が可能
• 自分でプログラムを書かなくても、世界中の優秀なエンジニアが
作ったパッケージをすぐ使える!しかも無料!
 Excelよりも圧倒的に早く、数百MBまで対応が可能
• 詳しくは次スライド参照
10
Copyright © BizReach, Inc. All Right Reserved.
Rの守備範囲
11
Copyright © BizReach, Inc. All Right Reserved.
Rの守備範囲
一言でいうと「そこそこできる」
12
Copyright © BizReach, Inc. All Right Reserved.
Rによる分析の流れ
13
設計 前処理 分析
Copyright © BizReach, Inc. All Right Reserved.
Rによる分析の流れ
 利用するパッケージの読み込み
 分析したいデータの読み込み
 (必要に応じて)前処理
 分析の実行
 レポートの作成(がRでできるパッケージも!)
14
設計 前処理 分析
このあたりを
流れに沿って
やってみます!
Copyright © BizReach, Inc. All Right Reserved.
ハンズオンの内容
 インストールしよう
 サンプルデータを見てみよう
 分析したいデータを読み込もう
 条件抽出をしてみよう
 グラフを書いてみよう
 Rを使った分析の例:サイトの改善
15
Copyright © BizReach, Inc. All Right Reserved.
ハンズオンの内容
 インストールしよう
 サンプルデータを見てみよう
 分析したいデータを読み込もう
 条件抽出をしてみよう
 グラフを書いてみよう
 Rを使った分析の例:サイトの改善
16
Copyright © BizReach, Inc. All Right Reserved.
RとRStudioのインストール
 R本体のインストール
• 注意:こちらを先にインストールしてください!
 RStudio(総合開発環境)のインストール
• ヘルプの検索
• ファイルシステムの検索
• 定義済み変数の確認
• HTML・PDF・スライドでの出力
• 分析プロジェクトの管理 など
両方インストールできたら、RStudioを起動してください。
17
Copyright © BizReach, Inc. All Right Reserved.
分析プロジェクトの用意
 分析案件ごとに「プロジェクト」を作成
 新規スクリプトファイル (R script) を作成
18
プロジェクト R script
R script
R script
プロジェクトを作って、コーディングの準備をします。
Copyright © BizReach, Inc. All Right Reserved.
補足:パッケージについて
※今回は、デフォルトの機能だけで分析を行います。
 パッケージの多くはCRANやGithubで公開
 初めて使うパッケージはインストールが必要
 起動のたびにパッケージを読み込む
19
Copyright © BizReach, Inc. All Right Reserved.
ハンズオンの内容
 インストールしよう
 サンプルデータを見てみよう
 分析したいデータを読み込もう
 条件抽出をしてみよう
 グラフを書いてみよう
 Rを使った分析の例:サイトの改善
20
Copyright © BizReach, Inc. All Right Reserved.
サンプルデータ
 Rには多くのサンプルがあり、分析の練習ができる
 代表的なサンプル
• iris:あやめの種類とサイズ
• women:米国の30-39歳の女性の身長と体重
• airquality:気象条件とオゾン量
• Titanic:タイタニック号が沈没したときの乗員乗客
など100種類以上
21
Copyright © BizReach, Inc. All Right Reserved.
サンプルデータを見てみよう
 head(iris)
 head() で先頭6レコードを表示
22
Copyright © BizReach, Inc. All Right Reserved.
データの構造を見てみよう
 str(iris)
 str() でデータの構造(=stracture)を確認
 データフレーム?
• Rでデータを取り扱うためのデータの構造
• Excelの2次元の表のイメージ
23
Sepal.Length 5.1 4.9 4.7
Sepal.Width 3.5 3 3.2
Petal.Length 1.4 1.4 1.3
Copyright © BizReach, Inc. All Right Reserved.
データの構造を見てみよう
 str(iris)
 150個のレコードで5つの属性をもつ
• 属性:項目、カラム
 4つの数値属性と1つの水準属性(3水準)
• 水準属性:○個の選択肢から選ぶ
setosa, versicolor, virginica
24
Copyright © BizReach, Inc. All Right Reserved.
基礎集計をやってみよう
 summary(iris)
 最小値・25%点・中央値・平均値・75%点・最大値
を計算
 水準属性の場合は、各々の個数を計算
25
Copyright © BizReach, Inc. All Right Reserved.
ハンズオンの内容
 インストールしよう
 サンプルデータを見てみよう
 分析したいデータを読み込もう
 条件抽出をしてみよう
 グラフを書いてみよう
 Rを使った分析の例:サイトの改善
26
Copyright © BizReach, Inc. All Right Reserved.
分析したいデータを読み込もう
 ダウンロードしたCSVファイル “weather.csv” を利用
• 日付、都市、平均気温、最高気温、最低気温、
雨量、日照量
 いま使っている R script ファイルと同じ場所に置いて
ください!
27
Copyright © BizReach, Inc. All Right Reserved.
分析したいデータを読み込もう
 CSVファイルを読み込んで、変数 df に格納する
• df <- read.csv(file = “weather.csv”, fileEncoding = “cp932”)
 dfの構造を確認
• str(df)
• dayのデータが、Factor(水準属性)として読み込まれている!
28
ファイル名を指定 文字コードはShift-JIS<- の右に
あるものに
df という
名前をつける
Copyright © BizReach, Inc. All Right Reserved.
日付をfactorからdateに変更する
 データ型(その項目に入るデータの種類)の変更
• df$day <- as.Date(df$day)
 dfの構造を再度確認
• str(df)
29
df 内にある
「day」という項目
データ型を
日付に変更
Copyright © BizReach, Inc. All Right Reserved.
ハンズオンの内容
 インストールしよう
 サンプルデータを見てみよう
 分析したいデータを読み込もう
 条件抽出をしてみよう
 グラフを書いてみよう
 Rを使った分析の例:サイトの改善
30
Copyright © BizReach, Inc. All Right Reserved.
条件抽出をしてみよう
 subset() で条件に合致したデータだけを抽出する
 条件とするものの例
• date :日付、時期
• factor :水準(選択肢、分類)のうちどれに該当するか
• num :数値
31
Copyright © BizReach, Inc. All Right Reserved.
条件抽出:date
 2013年のデータだけを抽出
• df_2013 <- subset(df, "2013-01-01" <= df$day
& df$day <= "2013-12-31")
• head(df_2013)
32
dfのdayが 2013年1月1日以降
dfのdayが 2013年12月31日以前
抽出結果を
df_2013 に格納
Copyright © BizReach, Inc. All Right Reserved.
条件抽出:factor
 東京のデータだけを抽出
• df_tokyo <- subset(df, df$city == "Tokyo")
• head(df_tokyo)
33
イコールは
2つです!
Copyright © BizReach, Inc. All Right Reserved.
条件抽出:num
 雨が降ったときのデータだけを抽出
• df_rain <- subset(df, df$rain > 0)
• head(df_rain)
34
Copyright © BizReach, Inc. All Right Reserved.
演習問題
下記の条件で抽出してください。
 東京で最高気温が37度以上となった日のデータ
35
Copyright © BizReach, Inc. All Right Reserved.
演習問題
 東京で最高気温が37度以上となった日のデータ
• city が Tokyo
• temp_max が 37以上
 subset(df, df$city == "Tokyo" & df$temp_max >= 37)
 subset(df, city == "Tokyo" & temp_max >= 37)
 subset(df_tokyo, temp_max >= 37)
36
Copyright © BizReach, Inc. All Right Reserved.
ハンズオンの内容
 インストールしよう
 サンプルデータを見てみよう
 分析したいデータを読み込もう
 条件抽出をしてみよう
 グラフを書いてみよう
 Rを使った分析の例:サイトの改善
37
Copyright © BizReach, Inc. All Right Reserved.
グラフを書いてみよう
 散布図
• 縦軸、横軸に項目を設定し、データをプロットする
• 2項目の相関関係をみるときによく使う
 ヒストグラム
• データをいくつかの区間に分けてその区間のデータを
集め、データの度数(数)を棒グラフで表す
• データの分布状況を視覚的にとらえられる
38
Copyright © BizReach, Inc. All Right Reserved.
散布図
 東京の平均気温と最高気温の関係
• せっかくなのでdf_tokyoを使います
• plot(df_tokyo$temp_avg, df_tokyo$temp_max,
xlab = "avg", ylab = "max", col = "orange")
39
temp_max をy軸にとるtemp_avg をx軸にとる
x軸のラベル y軸のラベル
Copyright © BizReach, Inc. All Right Reserved.
ヒストグラム
 東京の最高気温と最低気温の幅の分布
• diff <- df_tokyo$temp_max - df_tokyo$temp_min
• hist(diff, breaks = 20, col = "orange",
main = "difference")
40
temp_max と temp_min の差をとって、diff とする
diffのデータを20区間に分ける
グラフのタイトル
max(diff)=19.6
min(diff)=1
Copyright © BizReach, Inc. All Right Reserved.
ハンズオンの内容
 インストールしよう
 サンプルデータを見てみよう
 分析したいデータを読み込もう
 条件抽出をしてみよう
 グラフを書いてみよう
 Rを使った分析の例:サイトの改善
41
Copyright © BizReach, Inc. All Right Reserved.
分析の例:サイトの改善
新しいLPの方が効果がある?それとも偶然の差?
 改善前後の有意差検定
 結果の解釈
42
いままでのLP 新しいLP
Before After
ページビュー 1200 1000
コンバージョン 55 60
コンバージョン率 4.6% 6.0%
Copyright © BizReach, Inc. All Right Reserved.
有意差検定
 試行回数(PV)と成功回数(CV)を格納
• n にPVの数を設定、x にCVの数を設定する
 数字は After → Before の順番で配置
• n <- c(1000, 1200)
• x <- c(60, 55)
• cはベクトルを作成する関数ですが、ここではあまり
気にしないでください
– 参考サイト
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/12.html
43
Copyright © BizReach, Inc. All Right Reserved.
検定の実行
 比率の差を検定
CVRは改善されたが、有意差があるのか?
• prop.test(x, n, alternative = c("greater"))
44
※これは「改善の前後で、どちらがよりCVRが大きいか」を比較する
場合の方法です。新しいLP 2つを同時に公開して比較する場合には、
また違う方法をとります。
Copyright © BizReach, Inc. All Right Reserved.
どういう意味?
 本当のCVRが同じ(改善前後で差がない)であるのに、
このCVRの差が「たまたま」生じる確率は
8.22%よりも少ない
 統計的な解説はここでは割愛します…
• 参考サイト
http://labs.xica-inc.com/2014/07/difference-between-t-
value-and-p-value/
45
Copyright © BizReach, Inc. All Right Reserved.
で、どうするか
 同じ結果でも、人によって解釈に相違
• Aさん「確率が8%以下のことが起こっているなら
偶然じゃないでしょ」
→有意水準8%の元で、有意な効果があった
• Bさん「1%以下の確率で厳しく判断すべきで、
これは偶然の範囲内だ」
→有意水準1%の元で、有意な効果があったとはいえない
 結局、有意差の考察は「分析者の考え方」しだい
→分析者が背景知識を動員して、適切な有意水準を
決めることが重要
• 通常は5% or 1%ですが、分析対象によって適切な値は異なります
46
Copyright © BizReach, Inc. All Right Reserved.
今日のゴール
 ご自身で手を動かして、Rの操作を体験する
 「Rでこんなことができるんだ」と
なんとなくわかる
 もう少しやってみたいな、と興味がわく
(といいな)
47
Copyright © BizReach, Inc. All Right Reserved.
さいごに
connpassグループ
「OWL.learn」
6/18(木) BIツール「Tableau」勉強会
R勉強会続編、数学講座なども企画中
48
Copyright © BizReach, Inc. All Right Reserved.
さいごに
ビズリーチで一緒に働いていただける
仲間募集中です!
49

More Related Content

What's hot

R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜Yasuyuki Sugai
 
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京Koichi Hamada
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介Recruit Technologies
 
情報検索における評価指標の最新動向と新たな提案
情報検索における評価指標の最新動向と新たな提案情報検索における評価指標の最新動向と新たな提案
情報検索における評価指標の最新動向と新たな提案Mitsuo Yamamoto
 
Devsumi 2018summer
Devsumi 2018summerDevsumi 2018summer
Devsumi 2018summerHarada Kei
 
入稿ヨシ、ご安全に! CSS組版による商業書籍制作の理想と現実
入稿ヨシ、ご安全に! CSS組版による商業書籍制作の理想と現実入稿ヨシ、ご安全に! CSS組版による商業書籍制作の理想と現実
入稿ヨシ、ご安全に! CSS組版による商業書籍制作の理想と現実Kenshi Muto
 
グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習Ichigaku Takigawa
 
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)Koichi Hamada
 
第1回Rを使って統計分析を勉強する会
第1回Rを使って統計分析を勉強する会第1回Rを使って統計分析を勉強する会
第1回Rを使って統計分析を勉強する会Nobuto Inoguchi
 
Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?jundoll
 
主成分分析(Pca)
主成分分析(Pca)主成分分析(Pca)
主成分分析(Pca)Shushi Namba
 
レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方Shun Nukui
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門hoxo_m
 
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013Shuyo Nakatani
 
Chapter9 一歩進んだ文法(前半)
Chapter9 一歩進んだ文法(前半)Chapter9 一歩進んだ文法(前半)
Chapter9 一歩進んだ文法(前半)itoyan110
 
効果測定入門 Rによる傾向スコア解析
効果測定入門  Rによる傾向スコア解析効果測定入門  Rによる傾向スコア解析
効果測定入門 Rによる傾向スコア解析aa_aa_aa
 
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)AtCoder Inc.
 
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズムTakuya Akiba
 
推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれからcyberagent
 

What's hot (20)

R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
 
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
 
情報検索における評価指標の最新動向と新たな提案
情報検索における評価指標の最新動向と新たな提案情報検索における評価指標の最新動向と新たな提案
情報検索における評価指標の最新動向と新たな提案
 
Devsumi 2018summer
Devsumi 2018summerDevsumi 2018summer
Devsumi 2018summer
 
入稿ヨシ、ご安全に! CSS組版による商業書籍制作の理想と現実
入稿ヨシ、ご安全に! CSS組版による商業書籍制作の理想と現実入稿ヨシ、ご安全に! CSS組版による商業書籍制作の理想と現実
入稿ヨシ、ご安全に! CSS組版による商業書籍制作の理想と現実
 
グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習グラフデータの機械学習における特徴表現の設計と学習
グラフデータの機械学習における特徴表現の設計と学習
 
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)
 
第1回Rを使って統計分析を勉強する会
第1回Rを使って統計分析を勉強する会第1回Rを使って統計分析を勉強する会
第1回Rを使って統計分析を勉強する会
 
Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?
 
主成分分析(Pca)
主成分分析(Pca)主成分分析(Pca)
主成分分析(Pca)
 
レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方レコメンドエンジン作成コンテストの勝ち方
レコメンドエンジン作成コンテストの勝ち方
 
Rstudio事始め
Rstudio事始めRstudio事始め
Rstudio事始め
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
 
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
 
Chapter9 一歩進んだ文法(前半)
Chapter9 一歩進んだ文法(前半)Chapter9 一歩進んだ文法(前半)
Chapter9 一歩進んだ文法(前半)
 
効果測定入門 Rによる傾向スコア解析
効果測定入門  Rによる傾向スコア解析効果測定入門  Rによる傾向スコア解析
効果測定入門 Rによる傾向スコア解析
 
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)
 
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム
 
推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから推薦アルゴリズムの今までとこれから
推薦アルゴリズムの今までとこれから
 

Similar to 初心者のためのRとRStudio入門 vol.2

10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用Nobuaki Oshiro
 
10分で分かるr言語入門ver2.8 14 0712
10分で分かるr言語入門ver2.8 14 0712 10分で分かるr言語入門ver2.8 14 0712
10分で分かるr言語入門ver2.8 14 0712 Nobuaki Oshiro
 
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 090510分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905Nobuaki Oshiro
 
Rプログラミング01 はじめの一歩
Rプログラミング01 はじめの一歩Rプログラミング01 はじめの一歩
Rプログラミング01 はじめの一歩wada, kazumi
 
Tokyo.R #67 初心者セッション3
Tokyo.R #67 初心者セッション3Tokyo.R #67 初心者セッション3
Tokyo.R #67 初心者セッション3Nozomi Miyazaki
 
さくっとはじめるテキストマイニング(R言語)  スタートアップ編
さくっとはじめるテキストマイニング(R言語)  スタートアップ編さくっとはじめるテキストマイニング(R言語)  スタートアップ編
さくっとはじめるテキストマイニング(R言語)  スタートアップ編Yutaka Shimada
 
統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016wada, kazumi
 
ソフトウェア産業に望まれる人材
ソフトウェア産業に望まれる人材ソフトウェア産業に望まれる人材
ソフトウェア産業に望まれる人材Makoto SAKAI
 
分析できるデータは自ら作る@Data Analyst Meetup Tokyo vol.8
分析できるデータは自ら作る@Data Analyst Meetup Tokyo vol.8分析できるデータは自ら作る@Data Analyst Meetup Tokyo vol.8
分析できるデータは自ら作る@Data Analyst Meetup Tokyo vol.8Taichi Tachikawa
 
R超入門機械学習をはじめよう
R超入門機械学習をはじめようR超入門機械学習をはじめよう
R超入門機械学習をはじめよう幹雄 小川
 
Webディレクター・マーケターのためのSQL教室 2015/07/13
Webディレクター・マーケターのためのSQL教室 2015/07/13Webディレクター・マーケターのためのSQL教室 2015/07/13
Webディレクター・マーケターのためのSQL教室 2015/07/13OWL.learn
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介Recruit Technologies
 
統計環境R_データ入出力編2016
統計環境R_データ入出力編2016統計環境R_データ入出力編2016
統計環境R_データ入出力編2016wada, kazumi
 
JavaScript Basic 01
JavaScript Basic 01JavaScript Basic 01
JavaScript Basic 01Yossy Taka
 

Similar to 初心者のためのRとRStudio入門 vol.2 (20)

10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
 
10分で分かるr言語入門ver2.8 14 0712
10分で分かるr言語入門ver2.8 14 0712 10分で分かるr言語入門ver2.8 14 0712
10分で分かるr言語入門ver2.8 14 0712
 
HiRoshimaR3_IntroR
HiRoshimaR3_IntroRHiRoshimaR3_IntroR
HiRoshimaR3_IntroR
 
Tokyo r50 beginner_2
Tokyo r50 beginner_2Tokyo r50 beginner_2
Tokyo r50 beginner_2
 
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 090510分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
 
Rプログラミング01 はじめの一歩
Rプログラミング01 はじめの一歩Rプログラミング01 はじめの一歩
Rプログラミング01 はじめの一歩
 
Tokyo.R #67 初心者セッション3
Tokyo.R #67 初心者セッション3Tokyo.R #67 初心者セッション3
Tokyo.R #67 初心者セッション3
 
関連記事レコメンドエンジン@Yahoo! JAPAN
関連記事レコメンドエンジン@Yahoo! JAPAN関連記事レコメンドエンジン@Yahoo! JAPAN
関連記事レコメンドエンジン@Yahoo! JAPAN
 
Tokyo r39 beginner
Tokyo r39 beginnerTokyo r39 beginner
Tokyo r39 beginner
 
さくっとはじめるテキストマイニング(R言語)  スタートアップ編
さくっとはじめるテキストマイニング(R言語)  スタートアップ編さくっとはじめるテキストマイニング(R言語)  スタートアップ編
さくっとはじめるテキストマイニング(R言語)  スタートアップ編
 
統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016
 
ソフトウェア産業に望まれる人材
ソフトウェア産業に望まれる人材ソフトウェア産業に望まれる人材
ソフトウェア産業に望まれる人材
 
分析できるデータは自ら作る@Data Analyst Meetup Tokyo vol.8
分析できるデータは自ら作る@Data Analyst Meetup Tokyo vol.8分析できるデータは自ら作る@Data Analyst Meetup Tokyo vol.8
分析できるデータは自ら作る@Data Analyst Meetup Tokyo vol.8
 
Hiroshimar4_Rintro
Hiroshimar4_RintroHiroshimar4_Rintro
Hiroshimar4_Rintro
 
R超入門機械学習をはじめよう
R超入門機械学習をはじめようR超入門機械学習をはじめよう
R超入門機械学習をはじめよう
 
Webディレクター・マーケターのためのSQL教室 2015/07/13
Webディレクター・マーケターのためのSQL教室 2015/07/13Webディレクター・マーケターのためのSQL教室 2015/07/13
Webディレクター・マーケターのためのSQL教室 2015/07/13
 
リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介リクルート式 自然言語処理技術の適応事例紹介
リクルート式 自然言語処理技術の適応事例紹介
 
統計環境R_データ入出力編2016
統計環境R_データ入出力編2016統計環境R_データ入出力編2016
統計環境R_データ入出力編2016
 
JavaScript Basic 01
JavaScript Basic 01JavaScript Basic 01
JavaScript Basic 01
 
Tokyo r47 beginner_2
Tokyo r47 beginner_2Tokyo r47 beginner_2
Tokyo r47 beginner_2
 

初心者のためのRとRStudio入門 vol.2

  • 1. Copyright © BizReach, Inc. All Right Reserved. 初心者のための RとRStudio入門 Vol.2 株式会社ビズリーチ サービス企画部 荒金 万琴
  • 2. Copyright © BizReach, Inc. All Right Reserved. 自己紹介 荒金 万琴(あらがね まこと)  福岡県出身 →進学のため京都へ(4年間) →就職を期に東京へ(5年目)  前職:法人向けソフトウェアメーカーにて マーケティングを担当(4年間) • 自社製品サイト、カタログ等の制作 • イベントの主催、出展 • 製品リリースの進行管理 などなど  サービス自体の企画・ データサイエンティストを志して転職  2015年4月 ビズリーチ入社(3ヶ月目) • 自社サービス(ビズリーチ:会員制転職サイト) の会員属性の調査 • 会員向け施策の効果検証 などなど 2
  • 3. Copyright © BizReach, Inc. All Right Reserved. 初心者のための RとRStudio入門 Vol.2 3
  • 4. Copyright © BizReach, Inc. All Right Reserved. 初心者のための RとRStudio入門 Vol.2 初心者による その分、より初心者に沿った内容になっている… と感じていただければ嬉しいです。 4
  • 5. Copyright © BizReach, Inc. All Right Reserved. アジェンダ  Rについて(3分) • Rとは • Rによる分析の流れ  ハンズオン(50分) • 分析の流れに沿って操作してみる  アンケート(2分) 5
  • 6. Copyright © BizReach, Inc. All Right Reserved. 参加者のみなさまに質問 Rを使ったことはありますか? 本当に初心者ですか?? 6
  • 7. Copyright © BizReach, Inc. All Right Reserved. 今日のゴール  ご自身で手を動かして、Rの操作を体験する  「Rでこんなことができるんだ」と なんとなくわかる  もう少しやってみたいな、と興味がわく (といいな) 7
  • 8. Copyright © BizReach, Inc. All Right Reserved. まずは R って何者? 8
  • 9. Copyright © BizReach, Inc. All Right Reserved. テトリスみたいな ゲームを作りたい 0と1しか わかりませーん 自然言語 プログラミング言語 (仲介) 機械語 Rとは? 9  分析に特化したプログラミング言語  統計分析のデファクトスタンダードへと進化 • 「教育現場から実務・研究現場へ永続的に利用可能」 by Wikipedia  コンパイルが不要で、対話的に分析が可能
  • 10. Copyright © BizReach, Inc. All Right Reserved. Rとは?  分析に特化したプログラミング言語  統計分析のデファクトスタンダードへと進化 • 「教育現場から実務・研究現場へ永続的に利用可能」 by Wikipedia  コンパイルが不要で、対話的に分析が可能  パッケージの導入で、非常に多くの分析や機械学習が可能 • 自分でプログラムを書かなくても、世界中の優秀なエンジニアが 作ったパッケージをすぐ使える!しかも無料!  Excelよりも圧倒的に早く、数百MBまで対応が可能 • 詳しくは次スライド参照 10
  • 11. Copyright © BizReach, Inc. All Right Reserved. Rの守備範囲 11
  • 12. Copyright © BizReach, Inc. All Right Reserved. Rの守備範囲 一言でいうと「そこそこできる」 12
  • 13. Copyright © BizReach, Inc. All Right Reserved. Rによる分析の流れ 13 設計 前処理 分析
  • 14. Copyright © BizReach, Inc. All Right Reserved. Rによる分析の流れ  利用するパッケージの読み込み  分析したいデータの読み込み  (必要に応じて)前処理  分析の実行  レポートの作成(がRでできるパッケージも!) 14 設計 前処理 分析 このあたりを 流れに沿って やってみます!
  • 15. Copyright © BizReach, Inc. All Right Reserved. ハンズオンの内容  インストールしよう  サンプルデータを見てみよう  分析したいデータを読み込もう  条件抽出をしてみよう  グラフを書いてみよう  Rを使った分析の例:サイトの改善 15
  • 16. Copyright © BizReach, Inc. All Right Reserved. ハンズオンの内容  インストールしよう  サンプルデータを見てみよう  分析したいデータを読み込もう  条件抽出をしてみよう  グラフを書いてみよう  Rを使った分析の例:サイトの改善 16
  • 17. Copyright © BizReach, Inc. All Right Reserved. RとRStudioのインストール  R本体のインストール • 注意:こちらを先にインストールしてください!  RStudio(総合開発環境)のインストール • ヘルプの検索 • ファイルシステムの検索 • 定義済み変数の確認 • HTML・PDF・スライドでの出力 • 分析プロジェクトの管理 など 両方インストールできたら、RStudioを起動してください。 17
  • 18. Copyright © BizReach, Inc. All Right Reserved. 分析プロジェクトの用意  分析案件ごとに「プロジェクト」を作成  新規スクリプトファイル (R script) を作成 18 プロジェクト R script R script R script プロジェクトを作って、コーディングの準備をします。
  • 19. Copyright © BizReach, Inc. All Right Reserved. 補足:パッケージについて ※今回は、デフォルトの機能だけで分析を行います。  パッケージの多くはCRANやGithubで公開  初めて使うパッケージはインストールが必要  起動のたびにパッケージを読み込む 19
  • 20. Copyright © BizReach, Inc. All Right Reserved. ハンズオンの内容  インストールしよう  サンプルデータを見てみよう  分析したいデータを読み込もう  条件抽出をしてみよう  グラフを書いてみよう  Rを使った分析の例:サイトの改善 20
  • 21. Copyright © BizReach, Inc. All Right Reserved. サンプルデータ  Rには多くのサンプルがあり、分析の練習ができる  代表的なサンプル • iris:あやめの種類とサイズ • women:米国の30-39歳の女性の身長と体重 • airquality:気象条件とオゾン量 • Titanic:タイタニック号が沈没したときの乗員乗客 など100種類以上 21
  • 22. Copyright © BizReach, Inc. All Right Reserved. サンプルデータを見てみよう  head(iris)  head() で先頭6レコードを表示 22
  • 23. Copyright © BizReach, Inc. All Right Reserved. データの構造を見てみよう  str(iris)  str() でデータの構造(=stracture)を確認  データフレーム? • Rでデータを取り扱うためのデータの構造 • Excelの2次元の表のイメージ 23 Sepal.Length 5.1 4.9 4.7 Sepal.Width 3.5 3 3.2 Petal.Length 1.4 1.4 1.3
  • 24. Copyright © BizReach, Inc. All Right Reserved. データの構造を見てみよう  str(iris)  150個のレコードで5つの属性をもつ • 属性:項目、カラム  4つの数値属性と1つの水準属性(3水準) • 水準属性:○個の選択肢から選ぶ setosa, versicolor, virginica 24
  • 25. Copyright © BizReach, Inc. All Right Reserved. 基礎集計をやってみよう  summary(iris)  最小値・25%点・中央値・平均値・75%点・最大値 を計算  水準属性の場合は、各々の個数を計算 25
  • 26. Copyright © BizReach, Inc. All Right Reserved. ハンズオンの内容  インストールしよう  サンプルデータを見てみよう  分析したいデータを読み込もう  条件抽出をしてみよう  グラフを書いてみよう  Rを使った分析の例:サイトの改善 26
  • 27. Copyright © BizReach, Inc. All Right Reserved. 分析したいデータを読み込もう  ダウンロードしたCSVファイル “weather.csv” を利用 • 日付、都市、平均気温、最高気温、最低気温、 雨量、日照量  いま使っている R script ファイルと同じ場所に置いて ください! 27
  • 28. Copyright © BizReach, Inc. All Right Reserved. 分析したいデータを読み込もう  CSVファイルを読み込んで、変数 df に格納する • df <- read.csv(file = “weather.csv”, fileEncoding = “cp932”)  dfの構造を確認 • str(df) • dayのデータが、Factor(水準属性)として読み込まれている! 28 ファイル名を指定 文字コードはShift-JIS<- の右に あるものに df という 名前をつける
  • 29. Copyright © BizReach, Inc. All Right Reserved. 日付をfactorからdateに変更する  データ型(その項目に入るデータの種類)の変更 • df$day <- as.Date(df$day)  dfの構造を再度確認 • str(df) 29 df 内にある 「day」という項目 データ型を 日付に変更
  • 30. Copyright © BizReach, Inc. All Right Reserved. ハンズオンの内容  インストールしよう  サンプルデータを見てみよう  分析したいデータを読み込もう  条件抽出をしてみよう  グラフを書いてみよう  Rを使った分析の例:サイトの改善 30
  • 31. Copyright © BizReach, Inc. All Right Reserved. 条件抽出をしてみよう  subset() で条件に合致したデータだけを抽出する  条件とするものの例 • date :日付、時期 • factor :水準(選択肢、分類)のうちどれに該当するか • num :数値 31
  • 32. Copyright © BizReach, Inc. All Right Reserved. 条件抽出:date  2013年のデータだけを抽出 • df_2013 <- subset(df, "2013-01-01" <= df$day & df$day <= "2013-12-31") • head(df_2013) 32 dfのdayが 2013年1月1日以降 dfのdayが 2013年12月31日以前 抽出結果を df_2013 に格納
  • 33. Copyright © BizReach, Inc. All Right Reserved. 条件抽出:factor  東京のデータだけを抽出 • df_tokyo <- subset(df, df$city == "Tokyo") • head(df_tokyo) 33 イコールは 2つです!
  • 34. Copyright © BizReach, Inc. All Right Reserved. 条件抽出:num  雨が降ったときのデータだけを抽出 • df_rain <- subset(df, df$rain > 0) • head(df_rain) 34
  • 35. Copyright © BizReach, Inc. All Right Reserved. 演習問題 下記の条件で抽出してください。  東京で最高気温が37度以上となった日のデータ 35
  • 36. Copyright © BizReach, Inc. All Right Reserved. 演習問題  東京で最高気温が37度以上となった日のデータ • city が Tokyo • temp_max が 37以上  subset(df, df$city == "Tokyo" & df$temp_max >= 37)  subset(df, city == "Tokyo" & temp_max >= 37)  subset(df_tokyo, temp_max >= 37) 36
  • 37. Copyright © BizReach, Inc. All Right Reserved. ハンズオンの内容  インストールしよう  サンプルデータを見てみよう  分析したいデータを読み込もう  条件抽出をしてみよう  グラフを書いてみよう  Rを使った分析の例:サイトの改善 37
  • 38. Copyright © BizReach, Inc. All Right Reserved. グラフを書いてみよう  散布図 • 縦軸、横軸に項目を設定し、データをプロットする • 2項目の相関関係をみるときによく使う  ヒストグラム • データをいくつかの区間に分けてその区間のデータを 集め、データの度数(数)を棒グラフで表す • データの分布状況を視覚的にとらえられる 38
  • 39. Copyright © BizReach, Inc. All Right Reserved. 散布図  東京の平均気温と最高気温の関係 • せっかくなのでdf_tokyoを使います • plot(df_tokyo$temp_avg, df_tokyo$temp_max, xlab = "avg", ylab = "max", col = "orange") 39 temp_max をy軸にとるtemp_avg をx軸にとる x軸のラベル y軸のラベル
  • 40. Copyright © BizReach, Inc. All Right Reserved. ヒストグラム  東京の最高気温と最低気温の幅の分布 • diff <- df_tokyo$temp_max - df_tokyo$temp_min • hist(diff, breaks = 20, col = "orange", main = "difference") 40 temp_max と temp_min の差をとって、diff とする diffのデータを20区間に分ける グラフのタイトル max(diff)=19.6 min(diff)=1
  • 41. Copyright © BizReach, Inc. All Right Reserved. ハンズオンの内容  インストールしよう  サンプルデータを見てみよう  分析したいデータを読み込もう  条件抽出をしてみよう  グラフを書いてみよう  Rを使った分析の例:サイトの改善 41
  • 42. Copyright © BizReach, Inc. All Right Reserved. 分析の例:サイトの改善 新しいLPの方が効果がある?それとも偶然の差?  改善前後の有意差検定  結果の解釈 42 いままでのLP 新しいLP Before After ページビュー 1200 1000 コンバージョン 55 60 コンバージョン率 4.6% 6.0%
  • 43. Copyright © BizReach, Inc. All Right Reserved. 有意差検定  試行回数(PV)と成功回数(CV)を格納 • n にPVの数を設定、x にCVの数を設定する  数字は After → Before の順番で配置 • n <- c(1000, 1200) • x <- c(60, 55) • cはベクトルを作成する関数ですが、ここではあまり 気にしないでください – 参考サイト http://cse.naro.affrc.go.jp/takezawa/r-tips/r/12.html 43
  • 44. Copyright © BizReach, Inc. All Right Reserved. 検定の実行  比率の差を検定 CVRは改善されたが、有意差があるのか? • prop.test(x, n, alternative = c("greater")) 44 ※これは「改善の前後で、どちらがよりCVRが大きいか」を比較する 場合の方法です。新しいLP 2つを同時に公開して比較する場合には、 また違う方法をとります。
  • 45. Copyright © BizReach, Inc. All Right Reserved. どういう意味?  本当のCVRが同じ(改善前後で差がない)であるのに、 このCVRの差が「たまたま」生じる確率は 8.22%よりも少ない  統計的な解説はここでは割愛します… • 参考サイト http://labs.xica-inc.com/2014/07/difference-between-t- value-and-p-value/ 45
  • 46. Copyright © BizReach, Inc. All Right Reserved. で、どうするか  同じ結果でも、人によって解釈に相違 • Aさん「確率が8%以下のことが起こっているなら 偶然じゃないでしょ」 →有意水準8%の元で、有意な効果があった • Bさん「1%以下の確率で厳しく判断すべきで、 これは偶然の範囲内だ」 →有意水準1%の元で、有意な効果があったとはいえない  結局、有意差の考察は「分析者の考え方」しだい →分析者が背景知識を動員して、適切な有意水準を 決めることが重要 • 通常は5% or 1%ですが、分析対象によって適切な値は異なります 46
  • 47. Copyright © BizReach, Inc. All Right Reserved. 今日のゴール  ご自身で手を動かして、Rの操作を体験する  「Rでこんなことができるんだ」と なんとなくわかる  もう少しやってみたいな、と興味がわく (といいな) 47
  • 48. Copyright © BizReach, Inc. All Right Reserved. さいごに connpassグループ 「OWL.learn」 6/18(木) BIツール「Tableau」勉強会 R勉強会続編、数学講座なども企画中 48
  • 49. Copyright © BizReach, Inc. All Right Reserved. さいごに ビズリーチで一緒に働いていただける 仲間募集中です! 49