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