49
Rstudioによるデータハンドリング (データ集計・データ可視化) のご紹介 20171127⼀般社団法⼈情報サービス産業協会主催

Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

Rstudioによるデータハンドリング(データ集計・データ可視化)

のご紹介2017年11⽉27⽇

⼀般社団法⼈情報サービス産業協会主催

Page 2: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

⾃⼰紹介

1

学部時代は⻄洋近代史を学ぶ好きな歴史上の⼈物はユリウス・カエサル

2017年3⽉ 筑波⼤学ビジネス科学研究科 経営システム科学専攻(修⼠課程・夜間)修了現在,同⼤学院の博⼠課程在籍中

現在,truestarにおいて,広告投資と売上の関係を説明する新しい⽅法を検討中

truestar

鈴⽊ 貴⼠

Page 3: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

本⽇の流れ

2

なぜRを使うのか

総務省家計調査を⽤いたRによるデータハンドリングのデモ

年明け以降のセミナーの概要

アンケート記⼊と質疑応答

なぜデータハンドリングが必要か

Page 4: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

本⽇の流れ

3

なぜRを使うのか

総務省家計調査を⽤いたRによるデータハンドリングのデモ

年明け以降のセミナーの概要

アンケート記⼊と質疑応答

なぜデータハンドリングが必要か

Page 5: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

Rとは何でしょう?

4

•統計分析向けプログラミング⾔語

無料

Page 6: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

Rあれこれ

5

Rの本体。これだけでも⼗分使⽤可能

Rコマンダー

「R本体」

Rの統合開発環境。Rを使いやすくする通常はRstudioを⽤いる

プログラミング無しでRの⼀部機能を使えるようにしたソフト

Page 7: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

R

6

Rの本体。これだけでも⼗分使⽤可能

無料

Page 8: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

Rコマンダー

7

プログラミング無しでRの⼀部機能を使えるようにしたパッケージ

無料

Page 9: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

RStudio

8

Rの統合開発環境。Rを使いやすくする通常はRstudioを⽤いる

無料

Page 10: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

なぜRを使うのか

9

データ分析に使いたいから

Page 11: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

なぜRを使うのか

10

•多様な統計分析をおこなえる

•集計・作図のプロセスもおこなえる

•プログラムコードを残せるため,再現性がある

•⾼機能にも関わらず無料で使うことができる

•⽇本語で情報が取得できる

Page 12: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

なぜRを使うのか①:多様な統計分析をおこなえる

11

•⽇々世界中で新たなパッケージが開発され,Rの機能は進化し続けている(Rは統計分析のスタンダード)多種多様な統計分析をおこなうことができる

Page 13: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

なぜRを使うのか②:集計・作図のプロセスもおこなえる

12

•データ分析の⼯程の6〜8割はデータの「集計」「可視化」といったデータハンドリングのプロセスRは「集計」「可視化」も得意(後ほどデモいたします)Rを使えば,全⼯程含めた⼀気通貫したデータ分析が可能

データ集計

データ可視化

統計分析

•データ分析の流れ

Page 14: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

なぜRを使うのか③:再現性・繰り返しに強い

13

•Rはプログラミングコードを残せる繰り返しに強いデータを⼊れかえれば,他の分析に流⽤できる分析ミスがあった場合に追跡可能

データ集計

データ可視化

統計分析

•実際のデータ分析は繰り返しが多数起こるため,上記は⾮常に⼤切データが間違っていたデータ範囲を変えて再分析同じ形式のデータが毎⽉来る

Page 15: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

なぜRを使うのか④:⾼機能にも関わらず無料で使うことができる

14

•統計分析ソフトで有名なIBM「SPSS」の価格は数⼗万円

•Rは無料なので,機能追加があっても問題なしSPSSは更新に費⽤がかかる

•Rは無料だが,信頼性は問題ないオープンゆえに,間違いがあったらすぐに修正される新パッケージの場合は検証が不⼗分という⾯も…学術論⽂にも多数使⽤されている

Page 16: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

なぜRを使うのか⑤:⽇本語で情報が⼊⼿できる

15

http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html

•Rは統計分析におけるスタンダードな存在なので,⽇本語書籍・ウェブ情報が豊富

Page 17: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

なぜRを使うのか:R以外のソフトウェアは?

16

R SPSS Excel

価格 数⼗万円〜 1万円操作⽅法学習コスト △ ○ ◎

データ前処理・図⽰化 ◎ △ △

統計分析 ◎ ○ ×~△

プログラミング無料

マウス操作

•複雑な分析や繰り返し処理をしないなら「Excel」•ある程度複雑な分析をおこないたいが,プログラミングは避けたいなら「SPSS」

•分析に留まらずシステム開発も含めるなら「python」

Page 18: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

本⽇の流れ

17

なぜRを使うのか

総務省家計調査を⽤いたRによるデータハンドリングのデモ

年明け以降のセミナーの概要

アンケート記⼊と質疑応答

なぜデータハンドリングが必要か

Page 19: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

データ分析の流れ

18

データ集計

データ可視化

統計分析 提⾔

•データ分析の⼯程の6〜8割はデータの「集計」「可視化」といったデータハンドリングのプロセス

普通,興味があるのは「提⾔」と「統計分析」

けれども…

Page 20: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

Rで学ぶ○○に書いてあること

19

• Rで学ぶ○○という本はデータハンドリングができることが前提

データ集計

データ可視化

統計分析 提⾔

Page 21: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

統計分析と提⾔だけに興味がある場合にありがちなプロセス

20

Rによるデータハンドリングを⾝に着ければ上記は避けられる

Rで「重回帰分析」をしたい!

Rによる「重回帰分析」のやり⽅(のみ)を覚える

Rで重回帰分析

データをExcelで加⼯

結果をExcelへコピペ

○回繰り返し疲弊・ミス

Page 22: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

本来あるべきデータ分析の流れ①

21

データ集計

データ可視化

統計分析 提⾔

•⼿元に集まったデータは「整理されていない」「複数ファイルに分散している」場合が普通なので,データ分析ができる形式に整える必要がある本に載っているサンプルデータの場合は初めからデータが整っており,省かれるプロセス

Page 23: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

本来あるべきデータ分析の流れ②

22

データ集計

データ可視化

統計分析 提⾔

•⼿元に集まったデータの関係性を把握するには数字を⾒るだけでは分からないので,グラフにして可視化する必要が

•この段階でデータの異常に気づくことが多いので,⽋かせないプロセス本に載っているサンプルデータの場合は省かれるプロセス

Page 24: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

私がデータを触っていた時の実例

23

【コンビニ商材のCM出稿量と売上の関係を分析していた時】

•ある時期からCM出稿量がゼロになっていたが,商品リニューアルによって,商品コードが変わっただけで,AビールのCM出稿がなくなった訳ではなかった

0

100

200 AビールのCM出稿量

クライアントにデータを貰い直し,データ集計からやり直し

Page 25: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

本来あるべきデータ分析の流れ③

24

データ集計

データ可視化

統計分析 提⾔

•データ集計・可視化をおこない,データについて理解を深めてから統計分析へ移る

•本に載っているサンプルデータの場合はデータが正しいことが前提なので,初めからここから

Page 26: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

本来あるべきデータ分析の流れ④

25

データ集計

データ可視化

統計分析 提⾔

•統計分析を元に,「提⾔」をおこなう

Page 27: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

Excelでデータハンドリングをおこなって,Rで分析するのは?

26

データ集計

データ可視化

統計分析 提⾔

•簡単な処理が数回程度ならExcelでも構わないそれが何⼗回・何百回となると…?!

•Excelで扱えるデータは100万⾏までRは100万⾏以上のデータを扱える

Rで⼀気通貫したデータ分析をおこないましょう!

Page 28: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

Rによるデータハンドリングを⾝につければ

27

•データ集計・データ可視化をRプログラミングによっておこなうことで,正確性が増すと共に⽣産性が向上

•Rプログラミングスキルが向上するので,新しい統計分析の実装が早くなる統計分析は⼿法ごとに必要なデータ構造や⽅法が異なる

Rによるデータハンドリングを⾝につけましょう

Page 29: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

本⽇の流れ

28

なぜRを使うのか

総務省家計調査を⽤いたRによるデータハンドリングのデモ

年明け以降のセミナーの概要

アンケート記⼊と質疑応答

なぜデータハンドリングが必要か

Page 30: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

総務省・家計調査データとは?

29

•皆様に事前に配布したデータをExcelで開いてください開いた後に,Excel形式で保存し直してください。

•総務省・家計調査とは?全国の家計の収⼊・⽀出、貯蓄・負債などを毎⽉調査している

県庁所在地+政令指定都市の物品の年間⽀出⾦額がわかる

Page 31: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

総務省・家計調査データとは?

30

都市別

品⽬

Page 32: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

まずはExcelでデータハンドリングを体験

31

【お題①】•あなたは「宇都宮市」の観光課の職員です

•「ぎょうざ」を観光に活かしたいと考えています

•そこで,「家計調査」掲載都市の「ぎょうざ」購⼊⾦額をグラフ化し,「宇都宮市」の⽴ち位置を把握してください

Excelでやってみましょう!

Page 33: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

グラフのイメージ

32

(円)

Q:「家計調査」掲載都市の「ぎょうざ」購⼊⾦額をグラフ化し,「宇都宮市」の⽴ち位置を把握してください

0

500

1,000

1,500

2,000

2,500

3,00045

201 宮崎市

2610

0 京都市

2520

1 ⼤津市

0820

1 ⽔⼾市

2120

1 岐⾩市

4120

1 佐賀市

2920

1 奈良市

1020

1 前橋市

1110

0 さいたま市

2210

0 静岡市

3220

1 松江市

4620

1 ⿅児島市

2710

0 ⼤阪市

2810

0 神⼾市

2714

0 堺市

1310

0 東京都区部

1920

1 甲府市

3120

1 ⿃取市

3310

0 岡⼭市

3820

1 松⼭市

1413

0 川崎市

全国

1510

0 新潟市

0720

1 福島市

3620

1 徳島市

1410

0 横浜市

0410

0 仙台市

2020

1 ⻑野市

1820

1 福井市

4220

1 ⻑崎市

3020

1 和歌⼭市

1620

1 富⼭市

4310

0 熊本市

0620

1 ⼭形市

4720

1 那覇市

3410

0 広島市

1210

0 千葉市

0220

1 ⻘森市

3920

1 ⾼知市

2420

1 津市

4013

0 福岡市

3720

1 ⾼松市

2310

0 名古屋市

1415

0 相模原市

4010

0 北九州市

1720

1 ⾦沢市

0320

1 盛岡市

3520

3 ⼭⼝市

0110

0 札幌市

4420

1 ⼤分市

0520

1 秋⽥市

371 ぎょうざ【円】

Page 34: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

「ぎょうざ」の購⼊⾦額1位の都市は・・・!?

33

•「宇都宮市」はごくわずかに及ばず「浜松市」が1位

0

500

1,000

1,500

2,000

2,500

3,000

3,500

4,000

4,500

5,000

2213

0 浜松市

0920

1 宇都宮市

4520

1 宮崎市

2610

0 京都市

2520

1 ⼤津市

0820

1 ⽔⼾市

2120

1 岐⾩市

4120

1 佐賀市

2920

1 奈良市

1020

1 前橋市

1110

0 さいたま市

2210

0 静岡市

3220

1 松江市

4620

1 ⿅児島市

2710

0 ⼤阪市

2810

0 神⼾市

2714

0 堺市

1310

0 東京都区部

1920

1 甲府市

3120

1 ⿃取市

3310

0 岡⼭市

3820

1 松⼭市

1413

0 川崎市

全国

1510

0 新潟市

0720

1 福島市

3620

1 徳島市

1410

0 横浜市

0410

0 仙台市

2020

1 ⻑野市

1820

1 福井市

4220

1 ⻑崎市

3020

1 和歌⼭市

1620

1 富⼭市

4310

0 熊本市

0620

1 ⼭形市

4720

1 那覇市

3410

0 広島市

1210

0 千葉市

0220

1 ⻘森市

3920

1 ⾼知市

2420

1 津市

4013

0 福岡市

3720

1 ⾼松市

2310

0 名古屋市

1415

0 相模原市

4010

0 北九州市

1720

1 ⾦沢市

0320

1 盛岡市

3520

3 ⼭⼝市

0110

0 札幌市

4420

1 ⼤分市

0520

1 秋⽥市

371 ぎょうざ【円】(円)

Page 35: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

「ぎょうざ」の購⼊⾦額1位の都市は・・・!?

34

•「宇都宮市」はごくわずかに及ばず「浜松市」が1位

0

1,000

2,000

3,000

4,000

5,000

浜松市 宇都宮市 全国

371 ぎょうざ【円】(円) ※ぎょうざの「購⼊⾦額」なので,

外⾷費は含んでいません。

Page 36: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

まずはExcelでデータハンドリングを体験

35

【お題②】•「ぎょうざ」を観光に活かしたいと考えていましたが,購⼊額1位は「浜松市」でした

•そこで,観光に活かせる品⽬を探さねばなりません

•各都市の中で「宇都宮市」がトップテンに⼊る品⽬をグラフ化してください

•Excelでやってみましょう!

Page 37: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

お疲れ様でした

36

•○分間の時間を取りましたが,いくつできたでしょうか?

•宇都宮市がベスト10に⼊る品⽬は692品⽬中121品⽬あるので,全て終わる時間を計算してください

•同じ作業を繰り返すことは⾮常に⼤変

•もし,作業後にデータ差し替えなどがあったら?

Page 38: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

Rで同じことをやるには

37

•「dplyr」と「ggplot2」というパッケージを使⽤•コードを書くのに合計30分使⽤

R実⾏

Page 39: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

Rでデータ整形およびグラフによる可視化

38

•「dplyr」というパッケージでデータ整形をおこなった後「ggplot2」というパッケージでグラフによる可視化

できたグラフを⾒ていきましょう

Page 40: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

Rでデータ整形およびグラフによる可視化:「いちご」

39

Page 41: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

Rでデータ整形およびグラフによる可視化:「いちご」

40

Page 42: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

VBAでプログラムを書けば良いのでは?

41

•Rでデータ集計・可視化をおこなえば,「統計分析」まで⼀気通貫して処理をおこなえる

わざわざVBAでデータハンドリングをおこなった後,Rで統計分析をおこなうのではなく,初めからRでやった⽅が効率が良い

Page 43: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

例えば,クラスター分析を実⾏

42

クラスター分析で各都市をグルーピングしたところ,宇都宮市に最も近いのは前橋市という結果に

Page 44: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

100万⾏を超えるビッグデータもRで処理可能

43

•Excelでは100万⾏までしか開けないですが,Rでは100万⾏を超えるデータも扱えます

•実際に500万⾏のファイルを開いてみると…

Page 45: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

デモを通じてわかったこと

44

•データ集計・データ可視化をRプログラミングによっておこなうことで,正確性が増すと共に⽣産性が向上

•Rプログラミングスキルが向上するので,新しい統計分析の実装が早くなる統計分析は⼿法ごとに必要なデータ構造や⽅法が異なる

Rによるデータハンドリングを⾝につけましょう

Page 46: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

本⽇の流れ

45

なぜRを使うのか

総務省家計調査を⽤いたRによるデータハンドリングのデモ

年明け以降のセミナーの概要

アンケート記⼊と質疑応答

なぜデータハンドリングが必要か

Page 47: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

年明け以降のセミナーの概要

46

セミナー当⽇は説明

Page 48: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

本⽇の流れ

47

なぜRを使うのか

総務省家計調査を⽤いたRによるデータハンドリングのデモ

年明け以降のセミナーの概要

アンケート記⼊と質疑応答

なぜデータハンドリングが必要か

Page 49: Rstudioによるデータハンドリング (データ集計・ …Rによるデータハンドリングを につければ 27 •データ集計・データ可視化をRプログラミングによっておこなう

質疑応答など

48

アンケートのご協⼒をお願い申しあげます

本⽇はありがとうございました