10分で分かる
R言語入門 ver2
大城信晃
2015/02/21 TokyoR#461
本セッションの役割
•R初心者のために基礎を説明
•本勉強会の以降の他セッションの前提
知識を得てもらう
•資料は後ほど公開しますのでざっと眺
めていただければと思います
2
アジェンダ
•自己紹介
•Rって何
•Rの使い方
•Rの資料
3
自己紹介
• 名前:大城信晃
• Twitter:doradora09
• 職業:データマイニングエンジニア
• R:勉強中。
• 業務ではhadoop使ってます
• マイブーム:
• カクテル作り
• カメラ
4
執筆しました!(一部)
http://www.amazon.co.jp/dp/47981349025
これまで/現在の仕事
•ショッピング関連
•商品/製品DB 保守開発
•データ分析関連
•行動ターゲティング
•DMP
•データを使って顧客像を探る
6
TokyoRでは
•第1回から主に運営側で参加
•初心者セッション
•懇親会(ピザ、お酒)
7
アジェンダ
•自己紹介とお知らせ
•Rって何
•Rの使い方
•Rの資料
8
R言語(アールげんご)は、オープン
ソースでフリーソフトウェアの統計
解析向けプログラミング言語、及び
その開発実行環境である。	

Wikipediaより引用
9
での使われ方
•プロトタイプをRで作って検証
•PythonやC++で実装
GoogleとFacebookではRをどうやって使っているのか?
http://pracmper.blogspot.jp/2010/01/googlefacebookr.html
10
用途で分類
プロトタイピング実務利用
コマンドライン形式(CUI)
画面上で操作(GUI)
業務専用
ソフト
実装
11
特徴 価格 大規模データ 速度
統計特化 無料
△
(メモリ依存)
△
SAS/
SPSS
統計特化 数十万∼ ○ ○
エクセル 直感的 1万∼
(約100万行)
C++
高速だが
開発コスト高
無料∼
数万
実装次第 ◎
Python
スクリプト
言語
無料 実装次第 ○
他言語との比較
12
こんな方におすすめ
•色々な統計手法を試してみたい方
•エクセルでは物足りない方
•まずは無料で始めてみたい方
13
あると望ましいスキル
•プログラミングの基礎
•統計学の知識
•(英語力)
14
アジェンダ
•自己紹介とお知らせ
•Rって何
•Rの使い方
•Rの資料
15
インストール
Windows
http://cran.md.tsukuba.ac.jp/
bin/windows/base/
Mac http://cran.md.tsukuba.ac.jp/
Linux http://cran.md.tsukuba.ac.jp/
16
Rコンソール起動
17
Rコンソール起動
ココに処理を
記述していく
18
処理の記述
3+5 = 8
10-7 = 3
19
処理
解析の流れ
データ
レポート
20
処理
解析の流れ
データ
レポート
変数
配列
行列
関数
パッケージ
自作関数
作図
CSV
データフレーム
21
処理
解析の流れ
データ
レポート
変数
配列
行列
データフレーム
関数
パッケージ
自作関数
作図
CSV
22
値を入れる箱
> hako <- 10
> hako
[1] 10
> hako * 2
[1] 20
変数
23
値を入れる箱
> hako <- 10
> hako
[1] 10
> hako * 2
[1] 20
変数
変数に対して
処理(かけ算)
変数に値を入れる
左矢印のイメージ
24
複数の値をまとめる
> array <- c(10,20,30)
> array
[1] 10 20 30
> array * 2
[1] 20 40 60
配列
25
複数の値をまとめる
> array <- c(10,20,30)
> array
[1] 10 20 30
> array * 2
[1] 20 40 60
処理は
配列全体に
適用される
配列
3つの値を
配列に格納
26
各要素へのアクセス
> array[1]
[1] 10
> array[2]
[1] 20
> array[3]
[1] 30
配列
27
各要素へのアクセス
> array[1]
[1] 10
> array[2]
[1] 20
> array[3]
[1] 30
配列[番号]で
1個ずつ値を
取り出せる
配列
2個目
3個目
28
2次元の配列
> array2 <- matrix(c(10,20,30,  
40,50,60), 2, 3)
> array2
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
行列
29
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列の
行列
30
行列覚え方
http://wakuteka.info/R/110729
より転載31
各要素の指定
> array2[1,1]
[1] 10
> array2[1,]
[1] 10 30 50
> array2[,1]
[1] 10 20
行列
32
各要素の指定
> array2[1,1]
[1] 10
> array2[1,]
[1] 10 30 50
> array2[,1]
[1] 10 20
1行1列を
指定
行列
1行目全体
を指定
1列目全体
を指定
33
複数の型を持てる
> 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
データフレーム
34
複数の型を持てる
> 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関数で
セット
35
要素の指定
> 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番目
36
ここまで
• 変数:1種類の型の値を1つ入れる箱(スカラー)
• 配列:1種類の型の値を複数入れる箱(ベクトル)
• 行列:1種類の型の複数ベクトルをまとめて表現
• データフレーム:複数の型のベクトルをまとめて
表現
37
CSV
処理
解析の流れ
データ
レポート
変数
配列
行列
関数
自作関数
データフレーム
パッケージ
作図
38
処理の呼び出し関数
•関数は複数の処理をまとめたもの
•様々な計算が手軽に実行できる
39
処理の呼び出し関数
目的 関数名と書式
データの結合 C(データ)
合計 sum(データ)
個数を求める length(データ)
平均 mean(データ)
標準偏差 sd(データ)
・・・ ・・・
40
合計を求める関数
> array
[1] 10 20 30
> sum(array)
[1] 60
41
合計を求める関数
> array
[1] 10 20 30
> sum(array)
[1] 60
処理結果が
出力される
関数名(引数)
で処理呼び出し
先ほどの配列
42
行列も足せる
> array2
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
> sum(array2)
[1] 210
関数
43
行列も足せる
> array2
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
> sum(array2)
[1] 210
合計値が
表示される
関数
先ほどの行列
array2
44
結果を格納関数
> ret <- sum(array2)
> ret
[1] 210
変数
45
結果を格納関数
> ret <- sum(array2)
> ret
[1] 210
処理結果を
変数に格納
変数
合計値の
確認
46
CSV読み込み
•変数に毎回データを手入力するのは面倒
•CSV形式(カンマ区切り)ファイルを読み
込む関数がある
関数CSV
47
関数CSV
> hawks <- read.csv("hawks.csv")
!
> hawks
height salary
1 173 17000
2 178 14000
3 180 9000
CSV読み込み
48
関数CSV
> hawks <- read.csv("hawks.csv")
!
> hawks
height salary
1 173 17000
2 178 14000
3 180 9000
read.csv関数に
hawks.csvという
CSVファイルを
渡して
変数に代入
CSV読み込み
49
CSV読み込み関数CSV
> hawks <- read.csv("hawks.csv")
!
> hawks
height salary
1 173 17000
2 178 14000
3 180 9000
CSVファイルの
変数への
読み込みが
確認できる50
自分で関数を作る
•関数は自分で定義することも可能
•繰り返し使う処理は自作関数にする
自作関数
51
関数の書き方
関数名 <- function (引数) {
処理
}
52
自分で関数を作る自作関数
> varp <- function(x) {
retsult <- var(x) * (length(x) - 1) / length(x)
retsult
}
> varp(array)
[1] 66.66667
53
自分で関数を作る自作関数
> varp <- function(x) {
retsult <- var(x) * (length(x) - 1) / length(x)
retsult
}
> varp(array)
[1] 66.66667
関数の定義
処理を記述する
実行
54
ここまで
•組み込み関数:基本的な演算が可能
•CSV:read.csv関数でCSV形式のデー
タを読み込める
•自作関数:自身で関数を定義できる
55
処理
解析の流れ
データ
レポート
変数
配列
行列
関数
パッケージ
自作関数
作図
CSV
データフレーム
56
標準作図関数作図
•標準の関数でも色々と作図可能
目的 関数名
ヒストグラム hist
散布図 plot
箱ヒゲ図 boxplot
・・・ ・・・
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/50.html
参考URL
57
> x <- rnorm(50)
> hist(x, breaks=seq(-3, 3,1))
標準作図関数作図
58
> x <- rnorm(50)
> hist(x, breaks=seq(-3, 3,1))
標準作図関数作図
乱数生成
ヒストグラム
作図関数
59
> x <- rnorm(50)
> plot(x)
標準作図関数作図
乱数生成
プロット
関数
60
関数をまとめたもの
•複数の関数をまとめたもの
•様々なパッケージがCRANというシステ
ムにて無料公開されている
•自作のパッケージも公開できる
パッケージ
61
例
•作図パッケージggplot2を使えるよう
にする
62
> install.packages( ggplot2 )
> library("ggplot2")
外部パッケージパッケージ
作図
63
> install.packages( ggplot2 )
> library("ggplot2") CRANから
パッケージ
ダウンロード&
インストール
外部パッケージパッケージ
作図
パッケージを
ロード
64
a <- 1:10
b <- a^2
qplot(a,b)
qplotが利用可能パッケージ
作図
65
a <- 1:10
b <- a^2
qplot(a,b)
qplotが利用可能パッケージ
作図
ggplot2
パッケージ
の関数 66
qplot(carat, price,
data = diamonds,
colour = clarity)
サンプルデータ
diamonds
パッケージ
作図
diamonds
データの
carat, priceを
描画
67
参考資料パッケージ
作図
http://www.slideshare.net/dichika/ggplot268
紹介:分析用もあるパッケージ
目的 パッケージ名
主成分分析 stats(組み込み済)
対応分析 MASS
クラスター分析 stats
線形回帰分析 stats
生存分析 survival
ニューラルネット nnet
・・・ ・・・
処理
69
詳細はこちらの書籍で
http://amazon.jp/dp/4627096011/
•過去にTokyoRでもテキストとして利用
70
ここまで
•作図関数:可視化が可能
•パッケージ:CRANからダウンロード
して利用する
71
処理
Rで一連の分析が可能
データ
レポート
72
アジェンダ
•自己紹介とお知らせ
•Rって何
•Rの使い方
•Rの資料
73
•日本語の資料
74
seekR
http://seekr.jp/
•R言語用検索エンジン
75
ちなみに
•中の人がTokyoRで発表して下さいました!
http://www.slideshare.net/hiratake55/
seekrjp-2228155476
RjpWiki
•R言語のWiki
http://www.okada.jp.org/RWiki/
77
Rコミュニティ発表資料
http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage
「勉強会発表内容一覧」のリンクから
•Tokyo.R, Nagoya.R, Tukuba.Rのアーカイブ
78
RとSQLの対応付け
•SQLが分かる人は一読の価値有り
http://d.hatena.ne.jp/a_bicky/20110529/1306667230
79
サンプルデータ
•統計を学びたい人へ贈る、統計解析に使え
るデータセットまとめ
•http://d.hatena.ne.jp/hoxo_m/
20120214/p1
•データセット一覧
•http://vincentarelbundock.github.io/
Rdatasets/datasets.html
80
81
•以下海外のサイト(英語)
82
CRAN Task Viws
•Rには5000以上パッケージがある
(2014/09現在)
•用途別におすすめパッケージを紹介
http://cran.r-project.org/web/views/
83
CRAN Task Viws
•日本語訳してるサイト(一部機械翻訳)
http://www.trifields.jp/r-cran-task-views-639
84
R-Chart
•Rでの作図のサンプルが多数ある
http://www.r-chart.com/
85
まとめ
•Rは無料の統計解析ソフト
•データ解析からレポートまで利用可能
•Web上の資料も充実
86
まとめ
•Rは無料の統計解析ソフト
•データ解析からレポートまで利用可能
•Web上の資料も充実
是非使ってみましょう!
87
ご清聴ありがとうございました
88
質疑応答
89
予備資料
90
連携も可能
プロトタイピング実務利用
プログラミング言語寄り
(カスタマイズ可能)
直感的な操作(用途は限定)
業務専用
パッケージ
.C()関数
RExcel
91
イケメンツールRStudio
92
RStudio資料
http://www.slideshare.net/wdkz/
rstudio-1386695893
初心者だけど2回目
•箕田さんの初心者セッション
•集計、条件分岐、ループ、作図など
http://www.slideshare.net/
aad34210/tokyo-r21
http://www.slideshare.net/
aad34210/tokyo-r30-beginner 94
Tips
95
補足:クリップボード関数
#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
96
補足2:関数調べ方関数CSV
> ?read.table
> ??read.table
>help(read.table)
! ヘルプを
呼び出すことが

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

More Related Content

PDF
10分で分かるr言語入門ver2.14 15 0905
PDF
10分で分かるr言語入門ver2.10 14 1101
PPTX
Tokyo r50 beginner_2
PDF
10分で分かるr言語入門ver2.15 15 1010
PDF
2016年6月版データマエショリスト入門
PPTX
Tokyo r47 beginner_2
PDF
rstanで個人のパラメーターを推定した話
PDF
10分で分かるr言語入門ver2.5
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.10 14 1101
Tokyo r50 beginner_2
10分で分かるr言語入門ver2.15 15 1010
2016年6月版データマエショリスト入門
Tokyo r47 beginner_2
rstanで個人のパラメーターを推定した話
10分で分かるr言語入門ver2.5

What's hot (20)

PPTX
Tokyo r33 beginner
PPTX
20161127 doradora09 japanr2016_lt
PDF
Yamadai.R チュートリアルセッション
PDF
HiroshimaR4_LT_sakaue
PPTX
Tokyo r30 beginner
PDF
Hiroshimar4_Rintro
PDF
20170312 r言語環境構築&amp;dplyr ハンズオン
PDF
HiRoshimaR3_IntroR
PPTX
Tokyo r38
PDF
2017年3月版データマエショリスト入門
PDF
2017年3月版データマエショリスト入門(誤植修正版)
PDF
10分で分かるr言語入門ver2.9 14 0920
PDF
10分で分かるr言語入門ver2 6
PDF
Tokyor60 r data_science_part1
PDF
HiroshimaR6_Introduction
PPTX
Tokyo r28 1
PDF
HiroshimaR5_Intro
PDF
Rstudio事始め
PDF
TokyoR LT Rで連続データを離散化
PDF
はじめての「R」
Tokyo r33 beginner
20161127 doradora09 japanr2016_lt
Yamadai.R チュートリアルセッション
HiroshimaR4_LT_sakaue
Tokyo r30 beginner
Hiroshimar4_Rintro
20170312 r言語環境構築&amp;dplyr ハンズオン
HiRoshimaR3_IntroR
Tokyo r38
2017年3月版データマエショリスト入門
2017年3月版データマエショリスト入門(誤植修正版)
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2 6
Tokyor60 r data_science_part1
HiroshimaR6_Introduction
Tokyo r28 1
HiroshimaR5_Intro
Rstudio事始め
TokyoR LT Rで連続データを離散化
はじめての「R」
Ad

Viewers also liked (20)

PPTX
20160730tokyor55
PDF
Factorization machines with r
PDF
可視化周辺の進化がヤヴァイ 〜2016〜
PDF
ドラえもんでわかる統計的因果推論 #TokyoR
PPTX
forestFloorパッケージを使ったrandomForestの感度分析
PDF
2015年電子出版関連ニュースと今後について
PDF
150417アニメビジネスモデル勉強会
PDF
YieldWise: How the World Can Cut Food Waste and Loss by Half
PDF
Dietary Guidelines (For the Real World!)
PDF
Capitalizing on the shifting consumer food value equation
PDF
How We Caffeinate
PDF
Top 7 Reasons To Hire A Caterer For Your Next Event
PDF
In fast food wars, scale matters
PDF
11 Facts You Probably Didn't Know About Pasta
PDF
Top 10 Most Eaten Foods In The World
PDF
10 Catering Trends for Business Events in 2015
PDF
Our World is Hungry
PDF
The ABC’s of Living a Healthy Life
PDF
Hockey 101
PPTX
Quantum computing
20160730tokyor55
Factorization machines with r
可視化周辺の進化がヤヴァイ 〜2016〜
ドラえもんでわかる統計的因果推論 #TokyoR
forestFloorパッケージを使ったrandomForestの感度分析
2015年電子出版関連ニュースと今後について
150417アニメビジネスモデル勉強会
YieldWise: How the World Can Cut Food Waste and Loss by Half
Dietary Guidelines (For the Real World!)
Capitalizing on the shifting consumer food value equation
How We Caffeinate
Top 7 Reasons To Hire A Caterer For Your Next Event
In fast food wars, scale matters
11 Facts You Probably Didn't Know About Pasta
Top 10 Most Eaten Foods In The World
10 Catering Trends for Business Events in 2015
Our World is Hungry
The ABC’s of Living a Healthy Life
Hockey 101
Quantum computing
Ad

Similar to 10分で分かるr言語入門ver2 upload用 (20)

PDF
10分で分かるr言語入門ver2.8 14 0712
PDF
10min r study_tokyor25
PDF
10min r study_tokyor25
PPTX
統計環境R_データ入出力編2016
PPT
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
PPTX
統計環境R_はじめの一歩2016
PDF
初心者のためのRとRStudio入門 vol.2
PPTX
Rプログラミング02 データ入出力編
PDF
Stan勉強会資料(前編)
PPTX
Python による 「スクレイピング & 自然言語処理」入門
PDF
C#でもメタプログラミングがしたい!!
PDF
LDA入門
PDF
Rブートキャンプ
PPTX
企業等に蓄積されたデータを分析するための処理機能の提案
PDF
10分で分かるr言語入門ver2.7
PPTX
Tokyo r45 beginner_2
PDF
10分で分かるr言語入門ver2.4
PDF
Tokyor23 doradora09
PPTX
Rプログラミング01 はじめの一歩
10分で分かるr言語入門ver2.8 14 0712
10min r study_tokyor25
10min r study_tokyor25
統計環境R_データ入出力編2016
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
統計環境R_はじめの一歩2016
初心者のためのRとRStudio入門 vol.2
Rプログラミング02 データ入出力編
Stan勉強会資料(前編)
Python による 「スクレイピング & 自然言語処理」入門
C#でもメタプログラミングがしたい!!
LDA入門
Rブートキャンプ
企業等に蓄積されたデータを分析するための処理機能の提案
10分で分かるr言語入門ver2.7
Tokyo r45 beginner_2
10分で分かるr言語入門ver2.4
Tokyor23 doradora09
Rプログラミング01 はじめの一歩

More from Nobuaki Oshiro (16)

PDF
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
PDF
20170909 reafletでお手軽可視化 on_r_20分ver_up用
PPTX
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
PPTX
20170707 rでkaggle入門
PDF
15 0117 kh-coderご紹介 for R users
PDF
15 0117 kh-coderご紹介
PDF
15 0117 r言語活用事例-外部公開用
PDF
10分で分かるr言語入門 短縮バージョン 15-0117_upload用
PDF
Doradora09 lt tokyo_r33
PDF
10分で分かるr言語入門ver2.3
PDF
10分で分かるr言語入門ver2.2 13 0223
PPT
Code iq×japanr 公開用
PDF
10分で分かるR言語入門ver2.1
PDF
10分で分かるR言語入門ver2_0906
PDF
Tokyor24 doradora09
PPT
Survival analysis0702 2
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
20170909 reafletでお手軽可視化 on_r_20分ver_up用
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
20170707 rでkaggle入門
15 0117 kh-coderご紹介 for R users
15 0117 kh-coderご紹介
15 0117 r言語活用事例-外部公開用
10分で分かるr言語入門 短縮バージョン 15-0117_upload用
Doradora09 lt tokyo_r33
10分で分かるr言語入門ver2.3
10分で分かるr言語入門ver2.2 13 0223
Code iq×japanr 公開用
10分で分かるR言語入門ver2.1
10分で分かるR言語入門ver2_0906
Tokyor24 doradora09
Survival analysis0702 2

10分で分かるr言語入門ver2 upload用