10分で分かるR言語入門ver2_0906

42,981 views
42,830 views

Published on

1 Comment
46 Likes
Statistics
Notes
No Downloads
Views
Total views
42,981
On SlideShare
0
From Embeds
0
Number of Embeds
3,877
Actions
Shares
0
Downloads
145
Comments
1
Likes
46
Embeds 0
No embeds

No notes for slide

10分で分かるR言語入門ver2_0906

  1. 1. 10分で分かる R言語入門 ver2 大城信晃12年9月8日土曜日
  2. 2. セキココ http://sekico.co/ zaseki/5512年9月8日土曜日
  3. 3. アジェンダ • 自己紹介 • Rって何 • Rの使い方 • Rの資料12年9月8日土曜日
  4. 4. アジェンダ • 自己紹介 • Rって何 • Rの使い方 • Rの資料12年9月8日土曜日
  5. 5. 自己紹介 • 名前:大城信晃 • Twitter:doradora09 • 職業:Webエンジニア • R:勉強中 • マイブーム: • 15分間集中法 • 出張用カクテル集め12年9月8日土曜日
  6. 6. 出張用カクテル • 小型化により20本突破! • 懇親会でどうぞ12年9月8日土曜日
  7. 7. 写真変えました! Before After12年9月8日土曜日
  8. 8. 写真変えました! Before After12年9月8日土曜日
  9. 9. 撮影者 ボブさん twitter @bob3bob3 ありがとうございます!12年9月8日土曜日
  10. 10. ちなみに主催者の場合 Before After12年9月8日土曜日
  11. 11. こうなる Before After さすがボブさん!12年9月8日土曜日
  12. 12. では本題に • 自己紹介 • Rって何 • Rの使い方 • Rの資料12年9月8日土曜日
  13. 13. R言語(アールげんご)は、オープンソ ースでフリーソフトウェアの統計解 析向けプログラミング言語、及びそ の開発実行環境である。 Wikipediaより引用12年9月8日土曜日
  14. 14. オープンソース 個人が開発に参加できる フリーソフトウェア タダで使える 統計解析向け 関連パッケージが豊富 プログラミング言語 ロジックが記述可能 開発実行環境 Rコンソール12年9月8日土曜日
  15. 15. 用途で分類 プログラミング言語寄り (カスタマイズ可能) 実務利用 プロトタイピング 業務専用 パッケージ 直感的な操作(用途は限定)12年9月8日土曜日
  16. 16. 他言語との比較 特徴 大規模デー 価格 速度 パッケージ タ △ 無料 △ が豊富 (メモリ依存) エクセル 直感的 1万∼ (約100万行) 大規模 SAS ○ 60万∼ ○ データ処理 高速 無料∼ C++ 実装次第 ◎ 開発コスト高 数万12年9月8日土曜日
  17. 17. での使われ方 • プロトタイプをRで作って検証 • PythonやC++で実装 GoogleとFacebookではRをどうやって使っているのか? http://pracmper.blogspot.jp/2010/01/googlefacebookr.html12年9月8日土曜日
  18. 18. こんな方におすすめ • エクセルでは物足りない方 • いろいろな統計手法を試してみたい方 • プログラムも学びたい方12年9月8日土曜日
  19. 19. アジェンダ • 自己紹介 • Rって何 • Rの使い方 • Rの資料12年9月8日土曜日
  20. 20. インストール http://cran.md.tsukuba.ac.jp/ Windows bin/windows/base/ Mac http://cran.md.tsukuba.ac.jp/ Linux http://cran.md.tsukuba.ac.jp/12年9月8日土曜日
  21. 21. Rコンソール起動12年9月8日土曜日
  22. 22. Rコンソール起動 ココに処理を 記述していく12年9月8日土曜日
  23. 23. 例:足し算引き算 3+5 = 8 10-7 = 312年9月8日土曜日
  24. 24. 解析の流れ データ 処理 レポート12年9月8日土曜日
  25. 25. 解析の流れ 変数 データ 配列 行列 処理 レポート12年9月8日土曜日
  26. 26. 変数 値を入れる箱 > hako <- 10 > hako [1] 1012年9月8日土曜日
  27. 27. 変数 値を入れる箱 > hako <- 10 変数に値を入れる > hako 左矢印のイメージ [1] 1012年9月8日土曜日
  28. 28. 変数 値を入れる箱 > hako <- 10 変数名を打つと > hako 中の値が出る [1] 1012年9月8日土曜日
  29. 29. 変数 値を入れる箱 > hako <- 10 > hako [1] 10 > hako * 2 変数に対して [1] 20 処理(かけ算)12年9月8日土曜日
  30. 30. 配列 複数の値をまとめる > array <- c(10,20,30) > array [1] 10 20 30 > array * 2 [1] 20 40 6012年9月8日土曜日
  31. 31. 配列 複数の値をまとめる > array <- c(10,20,30) > array 3つの値を [1] 10 20 30 配列に格納 > array * 2 [1] 20 40 6012年9月8日土曜日
  32. 32. 配列 複数の値をまとめる > array <- c(10,20,30) > array 値の確認 [1] 10 20 30 > array * 2 [1] 20 40 6012年9月8日土曜日
  33. 33. 配列 複数の値をまとめる > array <- c(10,20,30) > array [1] 10 20 30 処理は > array * 2 すべての値に [1] 20 40 60 適用される12年9月8日土曜日
  34. 34. 配列 複数の値をまとめる > array[1] 配列[番号] で1個ずつ値を [1] 10 取り出せる > array[2] [1] 20 > array[3] [1] 3012年9月8日土曜日
  35. 35. 配列 複数の値をまとめる > array[1] [1] 10 > array[2] 2個目 [1] 20 > array[3] [1] 3012年9月8日土曜日
  36. 36. 配列 複数の値をまとめる > array[1] [1] 10 > array[2] [1] 20 > array[3] 3個目 [1] 3012年9月8日土曜日
  37. 37. 行列 2次元の配列 > array2 <- matrix(c(10,20,30,   40,50,60), 2, 3) > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 6012年9月8日土曜日
  38. 38. 行列 2次元の配列 > array2 <- matrix(c(10,20,30,   40,50,60), 2, 3) > array2 matrixという [,1] [,2] [,3] 関数を利用して 作る [1,] 10 30 50 [2,] 20 40 6012年9月8日土曜日
  39. 39. 行列 2次元の配列 > array2 <- matrix(c(10,20,30,   40,50,60), 2, 3) > array2 2行3列の [,1] [,2] [,3] 行列 [1,] 10 30 50 [2,] 20 40 6012年9月8日土曜日
  40. 40. 行列 各要素の指定 > array2[1,1] 1行1列を [1] 10 指定 > array2[1,] [1] 10 30 50 > array2[,1] [1] 10 2012年9月8日土曜日
  41. 41. 行列 各要素の指定 > array2[1,1] [1] 10 > array2[1,] 1行目全体 を指定 [1] 10 30 50 > array2[,1] [1] 10 2012年9月8日土曜日
  42. 42. 行列 各要素の指定 > array2[1,1] [1] 10 > array2[1,] [1] 10 30 50 > array2[,1] 1列目全体 [1] 10 20 を指定12年9月8日土曜日
  43. 43. 解析の流れ 変数 データ 配列 関数 行 行列 処理 自作関数 CSV レポート12年9月8日土曜日
  44. 44. 関数 処理の呼び出し • 関数は複数の処理をまとめたもの • 関数名(引数) という書き方で呼び出す12年9月8日土曜日
  45. 45. 関数 処理の呼び出し 目的 関数名と書式 使い方 データの結合 C(データ) C( C , B , B ) 合計 sum(データ) sum(10,20,30) 個数を求める length(データ) length(array) 平均 mean(データ) mean(array) 標準偏差 sd(データ) sd(array) ・・・ ・・・ ・・・12年9月8日土曜日
  46. 46. 関数 合計を求める > array [1] 10 20 30 > sum(array) [1] 6012年9月8日土曜日
  47. 47. 関数 合計を求める > array 先ほどの [1] 10 20 30 配列array > sum(array) [1] 6012年9月8日土曜日
  48. 48. 関数 合計を求める > array [1] 10 20 30 関数名(引数) > sum(array) で処理呼び出し [1] 6012年9月8日土曜日
  49. 49. 関数 合計を求める > array [1] 10 20 30 > sum(array) 処理結果が [1] 60 出力される12年9月8日土曜日
  50. 50. 関数 合計を求める > array2 [,1] [,2] [,3] [1,] 10 30 50 先ほどの行列を 渡した場合 [2,] 20 40 60 > sum(array2) [1] 21012年9月8日土曜日
  51. 51. 関数 合計を求める > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 60 > sum(array2) 合計値が 表示される [1] 21012年9月8日土曜日
  52. 52. 変数 関数 結果を格納 > ret <- sum(array2) > ret 処理結果を [1] 210 変数に格納12年9月8日土曜日
  53. 53. 変数 関数 結果を格納 > ret <- sum(array2) > ret 合計値の [1] 210 確認12年9月8日土曜日
  54. 54. 解析の流れ 変数 データ 配列 関数 行 行列 処理 自作関数 CSV レポート12年9月8日土曜日
  55. 55. CSV 関数 CSV読み込み • 変数に毎回データを手入力するのは面倒 • CSVファイルを読み込む関数がある • エクセル等の外部データ連携に利用12年9月8日土曜日
  56. 56. CSV 関数 CSV読み込み > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 2 178 14000 3 180 900012年9月8日土曜日
  57. 57. CSV 関数 CSV読み込み > hawks <- read.csv("hawks.csv") > hawks read.csv関数に height salary CSVファイルを 1 173 17000 渡す 2 178 14000 3 180 900012年9月8日土曜日
  58. 58. CSV 関数 CSV読み込み > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 CSVファイルの 取り込みが 2 178 14000 確認できる 3 180 900012年9月8日土曜日
  59. 59. 解析の流れ 変数 データ 配列 関数 行 行列 処理 自作関数 CSV レポート12年9月8日土曜日
  60. 60. 自作関数 自分で関数を作る • 関数は自分で定義することも可能 • 繰り返し使う処理は自作関数にする12年9月8日土曜日
  61. 61. 自作関数 自分で関数を作る > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) [1] 66.6666712年9月8日土曜日
  62. 62. 自作関数 自分で関数を作る > varp <- function(x) { 関数の定義 retsult <- var(x) * (length(x) - 1) / length(x) retsult 関数名 <- function (引数) { } 処理 > varp(array) } [1] 66.6666712年9月8日土曜日
  63. 63. 自作関数 自分で関数を作る > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) 定義された処理 が実行される [1] 66.66667 (不偏分散の算出)12年9月8日土曜日
  64. 64. 解析の流れ 変数 データ 配列 関数 行 行列 処理 自作関数 CSV パッケージ レポート 作図12年9月8日土曜日
  65. 65. パッケージ 関数をまとめたもの • 複数の関数をまとめられる • 自作のパッケージも公開できる • 外部のパッケージも利用可能12年9月8日土曜日
  66. 66. パッケージ 外部パッケージ • 外部パッケージはCRANに集約 • すべて無料でダウンロードできる12年9月8日土曜日
  67. 67. パッケージ 外部パッケージ 作図 > install.packages( ggplot2 ) > library("ggplot2") CRANから パッケージ ダウンロード& インストール12年9月8日土曜日
  68. 68. パッケージ 外部パッケージ 作図 > install.packages( ggplot2 ) パッケージを > library("ggplot2") ロード12年9月8日土曜日
  69. 69. パッケージ 外部パッケージ 作図 a <- 1:10 b <- a^2 新たに qplot(a,b) qplot関数が 使える12年9月8日土曜日
  70. 70. パッケージ qplot実行結果 作図 a <- 1:10 b <- a^2 qplot(a,b)12年9月8日土曜日
  71. 71. パッケージ その他作図関数 作図 • 標準の関数でも作図可能 目的 関数名と書式 使い方 ヒストグラム hist(データ) hist(array) 散布図 plot(x, y) plot(a,b) ・・・ ・・・ ・・・12年9月8日土曜日
  72. 72. 一連の作業がすべて可能 データ 処理 レポート12年9月8日土曜日
  73. 73. アジェンダ • 自己紹介 • Rって何 • Rの使い方 • Rの資料12年9月8日土曜日
  74. 74. CRAN Task Viws • Rには2000以上パッケージがある • 用途別におすすめパッケージを紹介 http://cran.r-project.org/web/views/12年9月8日土曜日
  75. 75. seekR • R言語用検索エンジン http://seekr.jp/12年9月8日土曜日
  76. 76. RjpWiki • R言語のWiki http://www.okada.jp.org/RWiki/12年9月8日土曜日
  77. 77. Rコミュニティ発表資料 • Tokyo.R, Nagoya.R, Tukuba.Rのアーカイブ http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage 「勉強会発表内容一覧」のリンクから12年9月8日土曜日
  78. 78. RとSQLの対応付け • SQLが分かる人は一読の価値有り http://d.hatena.ne.jp/a_bicky/20110529/130666723012年9月8日土曜日
  79. 79. R-Chart • Rでの作図のサンプルが多数ある http://www.r-chart.com/12年9月8日土曜日
  80. 80. まとめ • Rは無料の統計解析ソフト • パッケージが豊富 • データ解析からレポートまで利用可能12年9月8日土曜日
  81. 81. ご清聴ありがとうございました12年9月8日土曜日
  82. 82. 質疑応答12年9月8日土曜日
  83. 83. 予備資料12年9月8日土曜日
  84. 84. 連携も可能 プログラミング言語寄り (カスタマイズ可能) .C()関数 実務利用 RExcel プロトタイピング 業務専用 パッケージ 直感的な操作(用途は限定)12年9月8日土曜日
  85. 85. イケメンツールRStudio12年9月8日土曜日

×