Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
10分で分かる
R言語入門 ver2.15
大城信晃
2015/10/10 TokyoR#511
開催情報
ATND
•https://api.atnd.org/events/70522
•セキココ
•http://sekico.co/zaseki/593
2
本セッションの役割
•R初心者のために基礎を説明
•本勉強会の以降の他セッションの前提
知識を得てもらう
•資料は後ほど公開しますのでざっと眺
めていただければと思います
3
アジェンダ
•自己紹介
•Rって何
•Rの使い方
•Rの資料
4
自己紹介
• 名前:大城信晃
• Twitter:doradora09
• 職業:データ基盤構築&分析
• R:勉強中
• マイブーム:
• カクテル作り、カメラ
• いきなりステーキ
5
主な業務
•これまで
•製品関連DB構築、行動ターゲティング、
広告主向けDMP開発
•現在
•データ分析基盤構築(AWS)
•データコンサル(Google Analytics等)
•行動分析ツール企画・開発(n=1)
6
7http://marketing.yahoo.co.jp/service/dmp/
8https://datumstudio.jp/service/construction-of-infrastructure
執筆(一部)
http://www.amazon.co.jp/dp/4798134902
9
TokyoRでは
•第1回から主に運営側で参加
•初心者セッション
•懇親会(ピザ、お酒)
10
本日のNews
11
本日のNews
12
•スタッフブログを書くので(肖像権的に
OKな方は)もしよければ写真撮影させ
てください!
本日の(bad)News
13
•主催者が遅刻!
•ほんとすみません。後半来ます。
•蓑田さん不在!
•司会&飛び入りLT募集中!
アジェンダ
•自己紹介とお知らせ
•Rって何
•Rの使い方
•Rの資料
14
R言語(アールげんご)は、オープン
ソースでフリーソフトウェアの統計
解析向けプログラミング言語、及び
その開発実行環境である。
Wikipediaより引用
15
での使われ方
•プロトタイプをRで作って検証
•PythonやC++で実装
GoogleとFacebookではRをどうやって使っているのか?
http://pracmper.blogspot.jp/2010/01/googlefacebookr...
用途で分類
プロトタイピング実務利用
コマンドライン形式(CUI)
画面上で操作(GUI)
業務専用
ソフト
実装
17
特徴 価格 大規模データ 速度
統計特化 無料
△
(メモリ依存)
△
SAS/
SPSS
統計特化 数十万∼ ○ ○
エクセル 直感的 1万∼
(約100万行)
C++
高速だが
開発コスト高
無料∼
数万
実装次第 ◎
Python
スクリ...
こんな方におすすめ
•色々な統計手法を試してみたい方
•エクセルでは物足りない方
•まずは無料で始めてみたい方
19
アジェンダ
•自己紹介とお知らせ
•Rって何
•Rの使い方
•Rの資料
20
本日の資料
•http://www.slideshare.net/
akiaki5516/10rver2-upload
21
インストール
22
•2種類の実行環境(デスクトップ)
•Rコンソール
•RStudio(オススメ)
インストール
Windows
http://cran.md.tsukuba.ac.jp/
bin/windows/base/
Mac http://cran.md.tsukuba.ac.jp/
Linux http://cran.md.tsuk...
Rコンソール起動
24
Rコンソール起動
ココに処理を
記述していく
25
処理の記述
3+5 = 8
10-7 = 3
26
処理
解析の流れ
データ
レポート
27
処理
解析の流れ
データ
レポート
変数
配列
行列
関数
パッケージ
自作関数
作図
CSV
データフレーム
28
処理
解析の流れ
データ
レポート
変数
配列
行列
データフレーム
関数
パッケージ
自作関数
作図
CSV
29
値を入れる箱
> hako <- 10
> hako
[1] 10
> hako * 2
[1] 20
変数
30
値を入れる箱
> hako <- 10
> hako
[1] 10
> hako * 2
[1] 20
変数
変数に対して
処理(かけ算)
変数に値を入れる
左矢印のイメージ
31
複数の値をまとめる
> array <- c(10,20,30)
> array
[1] 10 20 30
> array * 2
[1] 20 40 60
配列
32
複数の値をまとめる
> array <- c(10,20,30)
> array
[1] 10 20 30
> array * 2
[1] 20 40 60
処理は
配列全体に
適用される
配列
3つの値を
配列に格納
33
各要素へのアクセス
> array[1]
[1] 10
> array[2]
[1] 20
> array[3]
[1] 30
配列
34
各要素へのアクセス
> array[1]
[1] 10
> array[2]
[1] 20
> array[3]
[1] 30
配列[番号]で
1個ずつ値を
取り出せる
配列
2個目
3個目
35
2次元の配列
> array2 <- matrix(c(10,20,30,  
40,50,60), 2, 3)
> array2
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
行列
36
2次元の配列
> array2 <- matrix(c(10,20,30,  
40,50,60), 2, 3)
> array2
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
matrixという
関数を...
行列覚え方
http://wakuteka.info/R/110729
より転載38
各要素の指定
> array2[1,1]
[1] 10
> array2[1,]
[1] 10 30 50
> array2[,1]
[1] 10 20
行列
39
各要素の指定
> array2[1,1]
[1] 10
> array2[1,]
[1] 10 30 50
> array2[,1]
[1] 10 20
1行1列を
指定
行列
1行目全体
を指定
1列目全体
を指定
40
複数の型を持てる
> sex <- c("F","F","M","M","M") #性別
> height <- c(158,162,177,173,166) #身長
> weight <- c(51,55,72,57,64) #体重
> ( ...
複数の型を持てる
> sex <- c("F","F","M","M","M") #性別
> height <- c(158,162,177,173,166) #身長
> weight <- c(51,55,72,57,64) #体重
> ( ...
要素の指定
> x$HEIGHT
[1] 158 162 177 173 166
> x$HEIGHT[1]
[1] 158
> x$HEIGHT[1:3]
[1] 158 162 177
$で
身長(HEIGHT)
を全指定
データフレーム
...
ここまで
• 変数:1種類の型の値を1つ入れる箱(スカラー)
• 配列:1種類の型の値を複数入れる箱(ベクトル)
• 行列:1種類の型の複数ベクトルをまとめて表現
• データフレーム:複数の型のベクトルをまとめて
表現
44
CSV
処理
解析の流れ
データ
レポート
変数
配列
行列
関数
自作関数
データフレーム
パッケージ
作図
45
処理の呼び出し関数
•関数は複数の処理をまとめたもの
•様々な計算が手軽に実行できる
46
処理の呼び出し関数
目的 関数名と書式
データの結合 C(データ)
合計 sum(データ)
個数を求める length(データ)
平均 mean(データ)
標準偏差 sd(データ)
・・・ ・・・
47
合計を求める関数
> array
[1] 10 20 30
> sum(array)
[1] 60
48
合計を求める関数
> array
[1] 10 20 30
> sum(array)
[1] 60
処理結果が
出力される
関数名(引数)
で処理呼び出し
先ほどの配列
49
行列も足せる
> array2
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
> sum(array2)
[1] 210
関数
50
行列も足せる
> array2
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
> sum(array2)
[1] 210
合計値が
表示される
関数
先ほどの行列
array2
51
結果を格納関数
> ret <- sum(array2)
> ret
[1] 210
変数
52
結果を格納関数
> ret <- sum(array2)
> ret
[1] 210
処理結果を
変数に格納
変数
合計値の
確認
53
CSV読み込み
•変数に毎回データを手入力するのは面倒
•CSV形式(カンマ区切り)ファイルを読み
込む関数がある
関数CSV
54
関数CSV
> hawks <- read.csv("hawks.csv")
> hawks
height salary
1 173 17000
2 178 14000
3 180 9000
CSV読み込み
55
関数CSV
> hawks <- read.csv("hawks.csv")
> hawks
height salary
1 173 17000
2 178 14000
3 180 9000
read.csv関数に
hawks.csvという
C...
CSV読み込み関数CSV
> hawks <- read.csv("hawks.csv")
> hawks
height salary
1 173 17000
2 178 14000
3 180 9000
CSVファイルの
変数への
読み込みが...
自分で関数を作る
•関数は自分で定義することも可能
•繰り返し使う処理は自作関数にする
自作関数
58
関数の書き方
関数名 <- function (引数) {
処理
}
59
自分で関数を作る自作関数
> varp <- function(x) {
retsult <- var(x) * (length(x) - 1) / length(x)
retsult
}
> varp(array)
[1] 66.66667
...
自分で関数を作る自作関数
> varp <- function(x) {
retsult <- var(x) * (length(x) - 1) / length(x)
retsult
}
> varp(array)
[1] 66.66667
...
ここまで
•組み込み関数:基本的な演算が可能
•CSV:read.csv関数でCSV形式のデー
タを読み込める
•自作関数:自身で関数を定義できる
62
処理
解析の流れ
データ
レポート
変数
配列
行列
関数
パッケージ
自作関数
作図
CSV
データフレーム
63
標準作図関数作図
•標準の関数でも色々と作図可能
目的 関数名
ヒストグラム hist
散布図 plot
箱ヒゲ図 boxplot
・・・ ・・・
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/50....
> x <- rnorm(50)
> hist(x, breaks=seq(-3, 3,1))
標準作図関数作図
65
> x <- rnorm(50)
> hist(x, breaks=seq(-3, 3,1))
標準作図関数作図
乱数生成
ヒストグラム
作図関数
66
> x <- rnorm(50)
> plot(x)
標準作図関数作図
乱数生成
プロット
関数
67
関数をまとめたもの
•複数の関数をまとめたもの
•様々なパッケージがCRANというシステ
ムにて無料公開されている
•自作のパッケージも公開できる
パッケージ
68
例
•作図パッケージggplot2を使えるよう
にする
69
> install.packages( ggplot2 )
> library("ggplot2")
外部パッケージパッケージ
作図
70
> install.packages( ggplot2 )
> library("ggplot2") CRANから
パッケージ
ダウンロード&
インストール
外部パッケージパッケージ
作図
パッケージを
ロード
71
a <- 1:10
b <- a^2
qplot(a,b)
qplotが利用可能パッケージ
作図
72
a <- 1:10
b <- a^2
qplot(a,b)
qplotが利用可能パッケージ
作図
ggplot2
パッケージ
の関数 73
qplot(carat, price,
data = diamonds,
colour = clarity)
サンプルデータ
diamonds
パッケージ
作図
diamonds
データの
carat, priceを
描画
74
参考資料パッケージ
作図
http://www.slideshare.net/dichika/ggplot275
紹介:分析用もあるパッケージ
目的 パッケージ名
主成分分析 stats(組み込み済)
対応分析 MASS
クラスター分析 stats
線形回帰分析 stats
生存分析 survival
ニューラルネット nnet
・・・ ・・・
処理
76
詳細はこちらの書籍で
http://amazon.jp/dp/4627096011/
•過去にTokyoRでもテキストとして利用
77
ここまで
•作図関数:可視化が可能
•パッケージ:CRANからダウンロード
して利用する
78
処理
Rで一連の分析が可能
データ
レポート
79
アジェンダ
•自己紹介とお知らせ
•Rって何
•Rの使い方
•Rの資料
80
•日本語の資料
81
seekR
http://seekr.jp/
•R言語用検索エンジン
82
ちなみに
•中の人がTokyoRで発表して下さいました!
http://www.slideshare.net/hiratake55/
seekrjp-2228155483
RjpWiki
•R言語のWiki
http://www.okada.jp.org/RWiki/
84
Rコミュニティ発表資料
http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage
「勉強会発表内容一覧」のリンクから
•Tokyo.R, Nagoya.R, Tukuba.Rのアーカイブ...
RとSQLの対応付け
•SQLが分かる人は一読の価値有り
http://d.hatena.ne.jp/a_bicky/20110529/1306667230
86
サンプルデータ
•統計を学びたい人へ贈る、統計解析に使え
るデータセットまとめ
•http://d.hatena.ne.jp/hoxo_m/
20120214/p1
•データセット一覧
•http://vincentarelbundock.gi...
88
r-wakalang
•https://github.com/TokyoR/r-
wakalang
•Rのわからないことへの質問を日本語で
する場所 「こういうのが欲しい」とい
う雑な妄想や夢でもいいかも。 そうす
ると匿名知的集団ホクソエムが...
•以下海外のサイト(英語)
90
CRAN Task Viws
•Rには5000以上パッケージがある
(2014/09現在)
•用途別におすすめパッケージを紹介
http://cran.r-project.org/web/views/
91
CRAN Task Viws
•日本語訳してるサイト(一部機械翻訳)
http://www.trifields.jp/r-cran-task-views-639
92
R-Chart
•Rでの作図のサンプルが多数ある
http://www.r-chart.com/
93
まとめ
•Rは無料の統計解析ソフト
•データ解析からレポートまで利用可能
•Web上の資料も充実
94
まとめ
•Rは無料の統計解析ソフト
•データ解析からレポートまで利用可能
•Web上の資料も充実
是非使ってみましょう!
95
ご清聴ありがとうございました
96
質疑応答
97
予備資料
98
連携も可能
プロトタイピング実務利用
プログラミング言語寄り
(カスタマイズ可能)
直感的な操作(用途は限定)
業務専用
パッケージ
.C()関数
RExcel
99
イケメンツールRStudio
100
RStudio資料
http://www.slideshare.net/wdkz/
rstudio-13866958101
初心者だけど2回目
•箕田さんの初心者セッション
•集計、条件分岐、ループ、作図など
http://www.slideshare.net/
aad34210/tokyo-r21
http://www.slideshare.net/
aad342...
Tips
103
補足:クリップボード関数
#windowsの場合
>hawks <- read.table("clipboard",
header=TRUE,sep=’,’);
#macの場合
>hawks <- read.table(pipe("pbpast...
補足2:関数調べ方関数CSV
> ?read.table
> ??read.table
>help(read.table)
ヘルプを
呼び出すことが

出来る
105
補足2:関数調べ方関数CSV
後半には
用例もあるので
参考に
> ?read.table
> ??read.table
>help(read.table)
106
紹介:テキスト解析ツール
KH Corder
•茶筅やRを裏側で利用(Rのソースで出力可)
•GUIで形態素解析、対応分析、ネット
ワーク分析が簡単にできる
http://khc.sourceforge.net/
107
Upcoming SlideShare
Loading in …5
×

10分で分かるr言語入門ver2.15 15 1010

2,246 views

Published on

https://api.atnd.org/events/70522

Published in: Technology
  • Be the first to comment

10分で分かるr言語入門ver2.15 15 1010

  1. 1. 10分で分かる R言語入門 ver2.15 大城信晃 2015/10/10 TokyoR#511
  2. 2. 開催情報 ATND •https://api.atnd.org/events/70522 •セキココ •http://sekico.co/zaseki/593 2
  3. 3. 本セッションの役割 •R初心者のために基礎を説明 •本勉強会の以降の他セッションの前提 知識を得てもらう •資料は後ほど公開しますのでざっと眺 めていただければと思います 3
  4. 4. アジェンダ •自己紹介 •Rって何 •Rの使い方 •Rの資料 4
  5. 5. 自己紹介 • 名前:大城信晃 • Twitter:doradora09 • 職業:データ基盤構築&分析 • R:勉強中 • マイブーム: • カクテル作り、カメラ • いきなりステーキ 5
  6. 6. 主な業務 •これまで •製品関連DB構築、行動ターゲティング、 広告主向けDMP開発 •現在 •データ分析基盤構築(AWS) •データコンサル(Google Analytics等) •行動分析ツール企画・開発(n=1) 6
  7. 7. 7http://marketing.yahoo.co.jp/service/dmp/
  8. 8. 8https://datumstudio.jp/service/construction-of-infrastructure
  9. 9. 執筆(一部) http://www.amazon.co.jp/dp/4798134902 9
  10. 10. TokyoRでは •第1回から主に運営側で参加 •初心者セッション •懇親会(ピザ、お酒) 10
  11. 11. 本日のNews 11
  12. 12. 本日のNews 12 •スタッフブログを書くので(肖像権的に OKな方は)もしよければ写真撮影させ てください!
  13. 13. 本日の(bad)News 13 •主催者が遅刻! •ほんとすみません。後半来ます。 •蓑田さん不在! •司会&飛び入りLT募集中!
  14. 14. アジェンダ •自己紹介とお知らせ •Rって何 •Rの使い方 •Rの資料 14
  15. 15. R言語(アールげんご)は、オープン ソースでフリーソフトウェアの統計 解析向けプログラミング言語、及び その開発実行環境である。 Wikipediaより引用 15
  16. 16. での使われ方 •プロトタイプをRで作って検証 •PythonやC++で実装 GoogleとFacebookではRをどうやって使っているのか? http://pracmper.blogspot.jp/2010/01/googlefacebookr.html 16
  17. 17. 用途で分類 プロトタイピング実務利用 コマンドライン形式(CUI) 画面上で操作(GUI) 業務専用 ソフト 実装 17
  18. 18. 特徴 価格 大規模データ 速度 統計特化 無料 △ (メモリ依存) △ SAS/ SPSS 統計特化 数十万∼ ○ ○ エクセル 直感的 1万∼ (約100万行) C++ 高速だが 開発コスト高 無料∼ 数万 実装次第 ◎ Python スクリプト 言語 無料 実装次第 ○ 他言語との比較 18
  19. 19. こんな方におすすめ •色々な統計手法を試してみたい方 •エクセルでは物足りない方 •まずは無料で始めてみたい方 19
  20. 20. アジェンダ •自己紹介とお知らせ •Rって何 •Rの使い方 •Rの資料 20
  21. 21. 本日の資料 •http://www.slideshare.net/ akiaki5516/10rver2-upload 21
  22. 22. インストール 22 •2種類の実行環境(デスクトップ) •Rコンソール •RStudio(オススメ)
  23. 23. インストール Windows http://cran.md.tsukuba.ac.jp/ bin/windows/base/ Mac http://cran.md.tsukuba.ac.jp/ Linux http://cran.md.tsukuba.ac.jp/ 23
  24. 24. Rコンソール起動 24
  25. 25. Rコンソール起動 ココに処理を 記述していく 25
  26. 26. 処理の記述 3+5 = 8 10-7 = 3 26
  27. 27. 処理 解析の流れ データ レポート 27
  28. 28. 処理 解析の流れ データ レポート 変数 配列 行列 関数 パッケージ 自作関数 作図 CSV データフレーム 28
  29. 29. 処理 解析の流れ データ レポート 変数 配列 行列 データフレーム 関数 パッケージ 自作関数 作図 CSV 29
  30. 30. 値を入れる箱 > hako <- 10 > hako [1] 10 > hako * 2 [1] 20 変数 30
  31. 31. 値を入れる箱 > hako <- 10 > hako [1] 10 > hako * 2 [1] 20 変数 変数に対して 処理(かけ算) 変数に値を入れる 左矢印のイメージ 31
  32. 32. 複数の値をまとめる > array <- c(10,20,30) > array [1] 10 20 30 > array * 2 [1] 20 40 60 配列 32
  33. 33. 複数の値をまとめる > array <- c(10,20,30) > array [1] 10 20 30 > array * 2 [1] 20 40 60 処理は 配列全体に 適用される 配列 3つの値を 配列に格納 33
  34. 34. 各要素へのアクセス > array[1] [1] 10 > array[2] [1] 20 > array[3] [1] 30 配列 34
  35. 35. 各要素へのアクセス > array[1] [1] 10 > array[2] [1] 20 > array[3] [1] 30 配列[番号]で 1個ずつ値を 取り出せる 配列 2個目 3個目 35
  36. 36. 2次元の配列 > array2 <- matrix(c(10,20,30,   40,50,60), 2, 3) > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 60 行列 36
  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 60 matrixという 関数を利用して 作る 行列 2行3列の 行列 37
  38. 38. 行列覚え方 http://wakuteka.info/R/110729 より転載38
  39. 39. 各要素の指定 > array2[1,1] [1] 10 > array2[1,] [1] 10 30 50 > array2[,1] [1] 10 20 行列 39
  40. 40. 各要素の指定 > array2[1,1] [1] 10 > array2[1,] [1] 10 30 50 > array2[,1] [1] 10 20 1行1列を 指定 行列 1行目全体 を指定 1列目全体 を指定 40
  41. 41. 複数の型を持てる > sex <- c("F","F","M","M","M") #性別 > height <- c(158,162,177,173,166) #身長 > weight <- c(51,55,72,57,64) #体重 > ( x <- data.frame(SEX=sex, HEIGHT=height, WEIGHT=weight) ) SEX HEIGHT WEIGHT 1 F 158 51 2 F 162 55 3 M 177 72 4 M 173 57 5 M 166 64 データフレーム 41
  42. 42. 複数の型を持てる > sex <- c("F","F","M","M","M") #性別 > height <- c(158,162,177,173,166) #身長 > weight <- c(51,55,72,57,64) #体重 > ( x <- data.frame(SEX=sex, HEIGHT=height, WEIGHT=weight) ) SEX HEIGHT WEIGHT 1 F 158 51 2 F 162 55 3 M 177 72 4 M 173 57 5 M 166 64 性別(文字列型) 身長、体重(数値型) データフレーム data.frame関数で セット 42
  43. 43. 要素の指定 > x$HEIGHT [1] 158 162 177 173 166 > x$HEIGHT[1] [1] 158 > x$HEIGHT[1:3] [1] 158 162 177 $で 身長(HEIGHT) を全指定 データフレーム 身長1つめだけ 身長1-3番目 43
  44. 44. ここまで • 変数:1種類の型の値を1つ入れる箱(スカラー) • 配列:1種類の型の値を複数入れる箱(ベクトル) • 行列:1種類の型の複数ベクトルをまとめて表現 • データフレーム:複数の型のベクトルをまとめて 表現 44
  45. 45. CSV 処理 解析の流れ データ レポート 変数 配列 行列 関数 自作関数 データフレーム パッケージ 作図 45
  46. 46. 処理の呼び出し関数 •関数は複数の処理をまとめたもの •様々な計算が手軽に実行できる 46
  47. 47. 処理の呼び出し関数 目的 関数名と書式 データの結合 C(データ) 合計 sum(データ) 個数を求める length(データ) 平均 mean(データ) 標準偏差 sd(データ) ・・・ ・・・ 47
  48. 48. 合計を求める関数 > array [1] 10 20 30 > sum(array) [1] 60 48
  49. 49. 合計を求める関数 > array [1] 10 20 30 > sum(array) [1] 60 処理結果が 出力される 関数名(引数) で処理呼び出し 先ほどの配列 49
  50. 50. 行列も足せる > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 60 > sum(array2) [1] 210 関数 50
  51. 51. 行列も足せる > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 60 > sum(array2) [1] 210 合計値が 表示される 関数 先ほどの行列 array2 51
  52. 52. 結果を格納関数 > ret <- sum(array2) > ret [1] 210 変数 52
  53. 53. 結果を格納関数 > ret <- sum(array2) > ret [1] 210 処理結果を 変数に格納 変数 合計値の 確認 53
  54. 54. CSV読み込み •変数に毎回データを手入力するのは面倒 •CSV形式(カンマ区切り)ファイルを読み 込む関数がある 関数CSV 54
  55. 55. 関数CSV > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 2 178 14000 3 180 9000 CSV読み込み 55
  56. 56. 関数CSV > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 2 178 14000 3 180 9000 read.csv関数に hawks.csvという CSVファイルを 渡して 変数に代入 CSV読み込み 56
  57. 57. CSV読み込み関数CSV > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 2 178 14000 3 180 9000 CSVファイルの 変数への 読み込みが 確認できる57
  58. 58. 自分で関数を作る •関数は自分で定義することも可能 •繰り返し使う処理は自作関数にする 自作関数 58
  59. 59. 関数の書き方 関数名 <- function (引数) { 処理 } 59
  60. 60. 自分で関数を作る自作関数 > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) [1] 66.66667 60
  61. 61. 自分で関数を作る自作関数 > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) [1] 66.66667 関数の定義 処理を記述する 実行 61
  62. 62. ここまで •組み込み関数:基本的な演算が可能 •CSV:read.csv関数でCSV形式のデー タを読み込める •自作関数:自身で関数を定義できる 62
  63. 63. 処理 解析の流れ データ レポート 変数 配列 行列 関数 パッケージ 自作関数 作図 CSV データフレーム 63
  64. 64. 標準作図関数作図 •標準の関数でも色々と作図可能 目的 関数名 ヒストグラム hist 散布図 plot 箱ヒゲ図 boxplot ・・・ ・・・ http://cse.naro.affrc.go.jp/takezawa/r-tips/r/50.html 参考URL 64
  65. 65. > x <- rnorm(50) > hist(x, breaks=seq(-3, 3,1)) 標準作図関数作図 65
  66. 66. > x <- rnorm(50) > hist(x, breaks=seq(-3, 3,1)) 標準作図関数作図 乱数生成 ヒストグラム 作図関数 66
  67. 67. > x <- rnorm(50) > plot(x) 標準作図関数作図 乱数生成 プロット 関数 67
  68. 68. 関数をまとめたもの •複数の関数をまとめたもの •様々なパッケージがCRANというシステ ムにて無料公開されている •自作のパッケージも公開できる パッケージ 68
  69. 69. 例 •作図パッケージggplot2を使えるよう にする 69
  70. 70. > install.packages( ggplot2 ) > library("ggplot2") 外部パッケージパッケージ 作図 70
  71. 71. > install.packages( ggplot2 ) > library("ggplot2") CRANから パッケージ ダウンロード& インストール 外部パッケージパッケージ 作図 パッケージを ロード 71
  72. 72. a <- 1:10 b <- a^2 qplot(a,b) qplotが利用可能パッケージ 作図 72
  73. 73. a <- 1:10 b <- a^2 qplot(a,b) qplotが利用可能パッケージ 作図 ggplot2 パッケージ の関数 73
  74. 74. qplot(carat, price, data = diamonds, colour = clarity) サンプルデータ diamonds パッケージ 作図 diamonds データの carat, priceを 描画 74
  75. 75. 参考資料パッケージ 作図 http://www.slideshare.net/dichika/ggplot275
  76. 76. 紹介:分析用もあるパッケージ 目的 パッケージ名 主成分分析 stats(組み込み済) 対応分析 MASS クラスター分析 stats 線形回帰分析 stats 生存分析 survival ニューラルネット nnet ・・・ ・・・ 処理 76
  77. 77. 詳細はこちらの書籍で http://amazon.jp/dp/4627096011/ •過去にTokyoRでもテキストとして利用 77
  78. 78. ここまで •作図関数:可視化が可能 •パッケージ:CRANからダウンロード して利用する 78
  79. 79. 処理 Rで一連の分析が可能 データ レポート 79
  80. 80. アジェンダ •自己紹介とお知らせ •Rって何 •Rの使い方 •Rの資料 80
  81. 81. •日本語の資料 81
  82. 82. seekR http://seekr.jp/ •R言語用検索エンジン 82
  83. 83. ちなみに •中の人がTokyoRで発表して下さいました! http://www.slideshare.net/hiratake55/ seekrjp-2228155483
  84. 84. RjpWiki •R言語のWiki http://www.okada.jp.org/RWiki/ 84
  85. 85. Rコミュニティ発表資料 http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage 「勉強会発表内容一覧」のリンクから •Tokyo.R, Nagoya.R, Tukuba.Rのアーカイブ 85
  86. 86. RとSQLの対応付け •SQLが分かる人は一読の価値有り http://d.hatena.ne.jp/a_bicky/20110529/1306667230 86
  87. 87. サンプルデータ •統計を学びたい人へ贈る、統計解析に使え るデータセットまとめ •http://d.hatena.ne.jp/hoxo_m/ 20120214/p1 •データセット一覧 •http://vincentarelbundock.github.io/ Rdatasets/datasets.html 87
  88. 88. 88
  89. 89. r-wakalang •https://github.com/TokyoR/r- wakalang •Rのわからないことへの質問を日本語で する場所 「こういうのが欲しい」とい う雑な妄想や夢でもいいかも。 そうす ると匿名知的集団ホクソエムが開発し てくれるかも・・・? 89
  90. 90. •以下海外のサイト(英語) 90
  91. 91. CRAN Task Viws •Rには5000以上パッケージがある (2014/09現在) •用途別におすすめパッケージを紹介 http://cran.r-project.org/web/views/ 91
  92. 92. CRAN Task Viws •日本語訳してるサイト(一部機械翻訳) http://www.trifields.jp/r-cran-task-views-639 92
  93. 93. R-Chart •Rでの作図のサンプルが多数ある http://www.r-chart.com/ 93
  94. 94. まとめ •Rは無料の統計解析ソフト •データ解析からレポートまで利用可能 •Web上の資料も充実 94
  95. 95. まとめ •Rは無料の統計解析ソフト •データ解析からレポートまで利用可能 •Web上の資料も充実 是非使ってみましょう! 95
  96. 96. ご清聴ありがとうございました 96
  97. 97. 質疑応答 97
  98. 98. 予備資料 98
  99. 99. 連携も可能 プロトタイピング実務利用 プログラミング言語寄り (カスタマイズ可能) 直感的な操作(用途は限定) 業務専用 パッケージ .C()関数 RExcel 99
  100. 100. イケメンツールRStudio 100
  101. 101. RStudio資料 http://www.slideshare.net/wdkz/ rstudio-13866958101
  102. 102. 初心者だけど2回目 •箕田さんの初心者セッション •集計、条件分岐、ループ、作図など http://www.slideshare.net/ aad34210/tokyo-r21 http://www.slideshare.net/ aad34210/tokyo-r30-beginner 102
  103. 103. Tips 103
  104. 104. 補足:クリップボード関数 #windowsの場合 >hawks <- read.table("clipboard", header=TRUE,sep=’,’); #macの場合 >hawks <- read.table(pipe("pbpaste"), header=TRUE,sep=’,’) > hawks height salary 1 173 17000 2 178 14000 3 180 9000 クリップボードからも 読み込み可能
 CSV 104
  105. 105. 補足2:関数調べ方関数CSV > ?read.table > ??read.table >help(read.table) ヘルプを 呼び出すことが
 出来る 105
  106. 106. 補足2:関数調べ方関数CSV 後半には 用例もあるので 参考に > ?read.table > ??read.table >help(read.table) 106
  107. 107. 紹介:テキスト解析ツール KH Corder •茶筅やRを裏側で利用(Rのソースで出力可) •GUIで形態素解析、対応分析、ネット ワーク分析が簡単にできる http://khc.sourceforge.net/ 107

×