Tokyor23 doradora09

2,155 views

Published on

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,155
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
35
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Tokyor23 doradora09

  1. 1. [入門セッション]Rによるやさしい統計学 第1章〜 2章3章は余力が無かった〜 doradora09
  2. 2. Outline● 自己紹介● お知らせ● テキスト紹介● Rの導入● Rをさわってみる● 変数と行列● 関数とパッケージ● まとめ
  3. 3. 自己紹介● 大城信晃 (Twitter:doradora09)● DB寄りWebエンジニア● TokyoRは第1回目から参加。 – 今回で20回目くらい。主に運営のお手伝い● 趣味:お酒、楽器(ホルン)● マイブーム:ルノアールで夜活 – ソファーが快適
  4. 4. お知らせ(1/4) セキココ● セキココという勉強会の座席共有サービスがあるので、もしよ ければ使ってみてください● 席に座っている人のTwitterアカウントが分かるので便利です● http://sekico.co/
  5. 5. お知らせ(2/4) 飲み物● 簡単ながらブースの後ろの方にお菓子・お飲 物を用意させていただきました● 休憩時間にどうぞご利用下さい – (いつかスイーツタイムを組み込んでみたい) ※画面はイメージです
  6. 6. お知らせ(3/4) 懇親会● TokyoRではセッション終了後に懇親会を実施して います● 発表後の参加も可能ですので、プレゼンを聞いて興 味を持たれた方は是非ご参加下さい● 一般1500円、学生は無料です! ※画面はイメージです
  7. 7. お知らせ(4/4) 本日のウィスキー● 出張BAR企画ということで今日はシングルト ンを持ってきました● あとカシスもあります。懇親会でどうぞ。 ※画面はイメージですがだいたい合ってる
  8. 8. そろそろ本題へ
  9. 9. 本セッション目的● R初心者にRをインストールしてもらう● Rの簡単な使い方を覚えてもらう – が主な目的です – 新年度になり初めてRを使うユーザーさんもいると思うの で、まずは導入編として – R玄人の皆様には繰り返しになり申し訳ありません – 自習 or 睡眠学習の時間としてご活用下さいm(_ _)m – (セキココで参加者をフォローしまくってみるとか・・)
  10. 10. テキスト紹介 ● Rによるやさしい統計学 ● オーム社 (2008/1/25) ● 記念すべき第1回TokyoR で用いたテキスト – よくまとまっているので もう一度利用してみよう と思いますhttp://amazon.jp/dp/4274067106/creazynet-22/ref=nosim/
  11. 11. Rとは何か● 統計解析用のソフトウェア● 無料で利用可能● 基本的にコードを記述して動作させる – プログラミング言語としての側面● 金融やマーケティング、医療など様々な分野で 利用されている● 各地にR言語のコミュニティや勉強会があり、 情報交換が行われている
  12. 12. 紹介:各Rコミュニティの過去発表資料一覧● ATNDの下のリンクからどうぞ – http://atnd.org/events/28416 ● 「勉強会発表内容一覧 – Japan.R WIki」● 発表のタイトルを見るだけでもどういう用途があるか、あ る程度参考になると思います
  13. 13. Rの導入● Windows, Mac, Linux版がある● いずれも無料 – Windows ● http://cran.md.tsukuba.ac.jp/bin/windows/base/ – Mac, Linux ● http://cran.md.tsukuba.ac.jp/
  14. 14. URLが分からない場合は● 「rjpwiki」で検索● Rでインストールという項目からたどればOK
  15. 15. Windows版の導入● 基本的に他のアプリケーションと同様にイン ストールできます – 基本「次へ」を連打でOK● インストーラーをダウンロード後、ダブルク リックで起動してください
  16. 16. インストール画面
  17. 17. インストール画面
  18. 18. インストール画面
  19. 19. インストール画面
  20. 20. インストール画面
  21. 21. インストール画面
  22. 22. インストール画面
  23. 23. ● あとはインストールが完了するまで待てばOK
  24. 24. Rの起動● インストールが完了するとRのアイコンが作成されます● Rのアイコンをダブルクリックして起動するとRコンソールが起動します● Rコンソール上で実行したい処理を記述していきます
  25. 25. 電卓として使う● 一番シンプルな使い方● +や-といった演算子を用いて基本的な計算ができます● Rコンソール上で以下のように記述して下さい – #以降はコメントアウトされるので無視でOK● エンターで実行 3+5 #足し算 10-3 #引き算 2*3 #掛け算 20/4 #割り算 5^2 #5の2乗 13 %% 5 #13を5で割った余り(剰余)
  26. 26. 実行結果> 3+5 #足し算[1] 8> 10-3 #引き算[1] 7> 2*3 #掛け算[1] 6> 20/4 #割り算[1] 5>> 5^2 #5の2乗[1] 25> 13 %% 5 #13を5で割った余り(剰余)[1] 3
  27. 27. 関数電卓として利用● 関数はいくつかの処理をまとめたもの● 関数を利用することで様々な処理を手軽に実施できる● 関数名(引数) という記述で利用 – 関数によって引数の個数が変化● 以下は関数の例 – sum(10,20,30) #引数の合計を求める – sqrt(16) #16の平方根を求める – date() #日付を表示
  28. 28. 関数電卓として利用● 関数はいくつかの処理をまとめたもの● 関数を利用することで様々な処理を手軽に実施でき る● 関数名(引数) という記述で利用 – 関数によって引数の個数が変化● 以下は関数の例 – sum(10,20,30) #引数の合計を求める – sqrt(16) #16の平方根を求める – date() #日付を表示
  29. 29. 実行結果> sum(10,20,30) #引数をすべて合計する[1] 60> sqrt(16) #16の平方根を求める[1] 4> date() #日付を表示[1] "Fri May 25 09:48:09 2012"
  30. 30. レポート用の図を作成● plot等の関数で作図が可能● plot(c(10,20,30))とした例 – c()はデータの値を結合する関数
  31. 31. 参考:きれいな作図● ggplot2という外部パッケージを利用すると視 覚的にきれいな作図が可能 – パッケージの導入法は後述します
  32. 32. データを効率的に扱う● ここではデータを効率的に扱うために – 変数 – 行列のデータ作成 – 外部ファイルの読み込み について説明します
  33. 33. 変数● 変数を用いることで値をまとめて扱えます● 先ほどのsum(10,20,30) の引数10,20,30場合● 変数名 <- c(値1,値2,値3) と記述● 例 – values <- c(10, 20, 30) #変数valuesに値をセット – values #変数名を書くと中身が見れる – sum(values) #sum関数に変数を渡す● なお変数名は自由につけられます
  34. 34. 実行結果 > values <- c(10, 20, 30) #変数valuesに値をセット > values #変数名を書くと中身が見れる [1] 10 20 30 > sum(values) #sum関数に変数を渡す [1] 60 #補足 > sum(c(10,20,30)) #こう書いても同じ結果 [1] 60● 変数を用いると複数の値をまとめて扱えるの で便利
  35. 35. 行列の表現● 次のようなデータをRで利用する方法について説明します● ホークスの選手5人の身長(height)と年俸(salary)を表現した表 height salary 173 17000 178 14000 180 9000 183 50000 182 30000
  36. 36. Rで行列を記述● matrix(c(値), 行数, 列数) という方法で記述● 例 – hawks <- matrix(c(173, 178, 189, 183, 182, 17000, 14000, 9000, 50000, 30000), 5, 2)
  37. 37. 実行結果 > hawks <- matrix(c(173, 178, 189, 183, 182, + 17000, 14000, 9000, 50000, 30000), 5, 2) > hawks #変数の中身確認(行列) [,1] [,2] [1,] 173 17000 [2,] 178 14000 [3,] 189 9000 [4,] 183 50000 [5,] 182 30000● 変数hawksに5行2列の行列が格納された
  38. 38. 発展:行列の要素へのアクセス● 行列の各要素には以下の方法でアクセスします – n行目(横のデータ)を表示する場合は 変数名[n,] – m列目(縦のデータ)を表示する場合は 変数名[,m] – n行m列目を表示する場合は 変数名[n,m]● 例 – hawks #行列全体を表示 – hawks[1,] #1行目のデータにアクセス – hawks[,1] #1列目のデータにアクセス – hawks[3,2] #3行2列目のデータにアクセス
  39. 39. 実行結果> hawks #行列全体を表示 [,1] [,2][1,] 173 17000[2,] 178 14000[3,] 189 9000[4,] 183 50000[5,] 182 30000> hawks[1,] #1行目のデータにアクセス[1] 173 17000> hawks[,1] #1列目のデータにアクセス[1] 173 178 189 183 182> hawks[3,2] #3行2列目のデータにアクセス[1] 9000
  40. 40. 外部ファイルの読み込み● RではCSV形式の外部ファイルを読み込むこと ができます – CSV:カンマ区切りのデータフォーマット● ここではエクセルと連携しやすいように、エ クセルのデータからCSVファイルを作成し、R に取り込む方法を説明します
  41. 41. データの用意● 先ほども用いたホークスの選手の身長と年俸 を表現したリストをエクセルで用意します height salary 173 17000 178 14000 180 9000 183 50000 182 30000
  42. 42. エクセルで作る場合● データをエクセル上で記述● 1行目はヘッダー行で項目名に相当● 2行目以下が各項目の値
  43. 43. エクセルの保存形式の変更● エクセルのデータは通常はCSV形式ではないためそのままでは利用できま せん● 保存する際にCSV形式を選択します● ここではhawks.csvというファイル名で保存
  44. 44. CSVファイルの確認● 作成したhawks.csvをテキストエディタで開く と次のようにカンマ区切りのデータが確認で きます height,salary 173,17000 178,14000 180,9000 183,50000 182,30000● なお直接テキストエディタでこのようなデータ を作ることも可能です
  45. 45. CSVファイルの読み込み● 作成したCSVファイルを読み込むためには、まず CSVファイルを保存したフォルダに作業フォルダ を移動します● Rコンソールでは次の手順 – 「ファイル」 → 「ディレクトリの変更」● コマンドだと以下の手順 – getwd() #現在の作業ディレクトリを確認 – setwd(“作業ディレクトリまでのパス”) #移動
  46. 46. コマンド実行例> getwd() #変更前の作業ディレクトリ[1] "/Users/akiaki5516">#作業ディレクトリ変更>setwd("/Users/akiaki5516/doradora12/Dropbox/TokyoR/23")> getwd() #変更後の作業ディレクトリ確認[1] "/Users/akiaki5516/doradora12/Dropbox/TokyoR/23"> dir(); #作業ディレクトリ内のファイル一覧[1] "hawks.csv"
  47. 47. CSVファイルの読み込み● read.csv(“ファイル名”) で読み込みます● 例 – hawks2 <- read.csv(“hawks.csv”);
  48. 48. 実行結果> hawks2 <- read.csv("hawks.csv") #csvファイルの読み込み> hawks2 #変数の中身確認 height salary1 173 170002 178 140003 180 90004 183 500005 182 30000
  49. 49. 関数を自作する● Rではsum()等の組み込み関数の他に、ユー ザーの自作関数を利用することができます● 関数化することで同じ処理をまとめることが できます● 自身が作成した関数を配布したり、他人が自 作した関数を利用することも可能です
  50. 50. 自作関数varp()● 関数名 <- function(引数) { 処理 } という記述 で関数を作る● 標本分散を求めるvarp()関数を作ってみる – 標本分散は偏差の二乗和 / データ● 例 – varp <- function(x) { – result <- var(x) * (length(x) - 1) / length(x) – result – }
  51. 51. 実行結果> varp <- function(x) { #自作関数+ result <- var(x) * (length(x) - 1) / length(x)+ result+ }>> hawks2[,1] #ホークスのデータを入れてみる[1] 173 178 180 183 182> varp(hawks2[,1]) #標本分散[1] 12.56> length(hawks2[,1]) #ちなみにlengthは個数を返す関数[1] 5
  52. 52. 他の人の関数を使う● 関数はファイルとして保存し、読み込むことが 可能です● ファイルの拡張子は.R● 例 – 先ほどのvarp関数をちょっと変えてvarp.Rとして保 存する – varp <- function(x) { – print("処理開始") #文言を追加 – result <- var(x) * (length(x) - 1) / length(x) – result – }
  53. 53. 関数の読み込み● source(“関数ファイル名”) とします● 例 – source(“varp.R”)
  54. 54. 実行結果> source("varp.R") #関数ファイル読み込み> res <- varp(hawks2[,1]) #resに結果格納[1] "処理開始"> res #結果出力[1] 12.56>> varp #ちなみに()なしだと関数の中身が見れますfunction(x) { print("処理開始") result <- var(x) * (length(x) - 1) / length(x) result }>
  55. 55. パッケージをインストールしてみる● 複数の関数をまとめたものがパッケージです● パッケージはCRANと呼ばれるパッケージ管 理サーバに保存されています● 最初に出てきたggplot2パッケージを入れてみ ます
  56. 56. CRAN mirrorの設定● 初回のみパッケージを取りにいくミラーサーバー の指定が必要です● まずパッケージ管理画面を開きます – windowsだとRコンソール上で「パッケージ」-> 「パッケージのインストール」 – macだと「パッケージとデータ」 → 「パッケージイ ンストーラ」● 画面からミラーサイトとしてJapan(Hyogo)又は Japan(Tsukuba)を選択● パッケージマネージャの検索窓にggplot2と入力 し、インストールボタンを押します – コマンドだと install.packages(“ggplot2”)
  57. 57. 画面の例(mac版)
  58. 58. インストールしたパッケージを使う● インストールしたパッケージはそのままでは 使えないので、library関数で呼び出します● 例 – library(“ggplot2)
  59. 59. 実行結果● 依存関係のエラーが出た > library("ggplot2") エラー: パッケージ reshape が ggplot2 によって要 求されましたが、見つけられませんでした
  60. 60. 依存関係の解消● パッケージの中で他のパッケージを利用している際は 依存関係が発生する● 依存関係のエラーで出てきたパッケージを片っ端から 入れる● 例 – insatll.pacages(“reshape”) – insatll.pacages(“plyr”) – install.pacages(“grid”) – install.pacages(“proto”) – install.pacages(“ggplot2”) #本命
  61. 61. 再度実行● 今度はちゃんと呼び出せた > insatll.pacages(“reshape”) > insatll.pacages(“plyr”) > install.pacages(“grid”) > install.pacages(“proto”) > install.pacages(“ggplot2”) #本命 > library(ggplot2) #今度は成功
  62. 62. ggplot2で作図> qplot(salary, height, data = hawks2,colour = I("blue"))
  63. 63. ggplot2をもっと知りたい方へ● 過去のR勉強会で発表されていますので、参考 にしてみてください – ggplot2:パッケージ製作者(Wickamさん)の話 を聞いて @aad34210さん ● http://www.slideshare.net/aad34210/ggplot2-110129 – ggplot2できれいなグラフ@dichikaさん ● http://www.slideshare.net/dichika/ggplot2
  64. 64. まとめ● Rをインストールするときは「rjpwiki」で検索● まずは電卓や関数電卓として使ってみてくださ い● plotやggplot2パッケージで作図も可能● 変数でデータをまとめ、関数で処理をまとめ る● データはCSVフォーマットで取り込めます● 関数パッケージはCRANからインストールで きます
  65. 65. もっとRを知りたい方へ● 初心者向けおすすめ資料 – はじめてのR @aad34210 ● http://www.slideshare.net/aad34210/tokyo-r18 – 続はじめてのR @aad34210 ● http://www.slideshare.net/aad34210/tokyo-r21-2● エクセルともっと連動させる – RExcelでの日本語利用 @aad34210 ● http://www.slideshare.net/aad34210/japan-r-101127 – XLConnectで快適なエクセルライフのご提案 @dichika ● http://www.slideshare.net/dichika/tokyor18
  66. 66. ご清聴ありがとうございました!

×