10分で分かる
R言語入門 ver2.3
大城信晃
2013/07/20 TokyoR#32
13年7月20日土曜日
開催情報
ATND
http://atnd.org/events/40213
セキココ
http://sekico.co/zaseki/172
13年7月20日土曜日
はじめに:本資料の対象
•R言語初心者、または未経験の方に
•Rの特徴を知ってもらう
•初歩的な操作方法を知ってもらう
•Rについての資料を紹介する
13年7月20日土曜日
はじめに:本資料の対象
•R言語初心者、または未経験の方に
•Rの特徴を知ってもらう
•初歩的な操作方法を知ってもらう
•Rについての資料を紹介する
すでにRを使いこなしている方々には申し
訳ありませんが、自習・睡眠学習等の時間
にお役立て下さ...
初心者だけど2回目
• 箕田さんの初心者セッション
• 集計、条件分岐、ループ、作図など
http://www.slideshare.net/
aad34210/tokyo-r21
http://www.slideshare.net/
aad3...
アジェンダ
•自己紹介
•Rって何
•Rの使い方
•Rの資料
13年7月20日土曜日
自己紹介
• 名前:大城信晃
• Twitter:doradora09
• 職業:Webエンジニア
• R:勉強中
• マイブーム:
• カクテル作り
• カメラ
13年7月20日土曜日
個人的なニュース
•「R言語」でヤフー検索
13年7月20日土曜日
本資料が1ページ目に!
13年7月20日土曜日
本資料が1ページ目に!
13年7月20日土曜日
その結果
•4月から
•所属部署が変わりました!
13年7月20日土曜日
この数ヶ月であったこと
•これまで
•ショッピング関連部署
•現在
•DS関連部署
13年7月20日土曜日
この数ヶ月であったこと
•これまで
•ショッピング関連部署
•現在
•DS関連部署
13年7月20日土曜日
DS !?
13年7月20日土曜日
データ
サイエンティスト!?
13年7月20日土曜日
惜しい!
データソリューション
でした!
(だいたいあってる)
13年7月20日土曜日
自己紹介
• 名前:大城信晃
• Twitter:doradora09
• 職業:Webエンジニア
=> DSエンジニア
(データを使った何か)
• R:勉強中
• マイブーム:
• カクテル作り
• カメラ13年7月20日土曜日
TokyoRで発表すると
いいことあるかもしれま
せんね!
発表者随時募集中です!
13年7月20日土曜日
では本題に
•自己紹介とお知らせ
•Rって何
•Rの使い方
•Rの資料
13年7月20日土曜日
R言語(アールげんご)は、オープンソ
ースでフリーソフトウェアの統計解
析向けプログラミング言語、及びそ
の開発実行環境である。
Wikipediaより引用
13年7月20日土曜日
オープンソース 個人が開発に参加できる
フリーソフトウェア タダで使える
統計解析向け 関連パッケージが豊富
プログラミング言語 ロジックが記述可能
開発実行環境 Rコンソール
13年7月20日土曜日
こんな方におすすめ
•色々な統計手法を試してみたい方
•エクセルでは物足りない方
13年7月20日土曜日
での使われ方
•プロトタイプをRで作って検証
•PythonやC++で実装
GoogleとFacebookではRをどうやって使っているのか?
http://pracmper.blogspot.jp/2010/01/googlefacebookr...
用途で分類
プロトタイピング実務利用
プログラミング言語寄り
直感的な操作(GUI)
業務専用
パッケージ
13年7月20日土曜日
用途で分類
プロトタイピング実務利用
プログラミング言語寄り
直感的な操作(GUI)
業務専用
パッケージ
実装
13年7月20日土曜日
特徴 価格 大規模データ 速度
パッケージ
が豊富
無料
△
(メモリ依存)
△
エクセル 直感的 1万∼
(約100万行)
SAS
大規模
データ処理
数十万∼ ○ ○
C++
高速
開発コスト高
無料∼
数万
実装次第 ◎
他言語との比較
...
アジェンダ
•自己紹介とお知らせ
•Rって何
•Rの使い方
•Rの資料
13年7月20日土曜日
インストール
Windows
http://cran.md.tsukuba.ac.jp/
bin/windows/base/
Mac http://cran.md.tsukuba.ac.jp/
Linux http://cran.md.tsuk...
Rコンソール起動
13年7月20日土曜日
Rコンソール起動
ココに処理を
記述していく
13年7月20日土曜日
Rコンソール起動
3+5 = 8
10-7 = 3
13年7月20日土曜日
処理の記述
3+5 = 8
10-7 = 3
13年7月20日土曜日
処理
解析の流れで説明
データ
レポート
13年7月20日土曜日
処理
解析の流れ
データ
レポート
変数
配列
行列
データフレーム
13年7月20日土曜日
値を入れる箱
> hako <- 10
> hako
[1] 10
変数
13年7月20日土曜日
値を入れる箱
> hako <- 10
> hako
[1] 10
変数
変数に値を入れる
左矢印のイメージ
13年7月20日土曜日
値を入れる箱
> hako <- 10
> hako
[1] 10
変数
変数名を打つと
中の値が出る
13年7月20日土曜日
値を入れる箱
> hako <- 10
> hako
[1] 10
> hako * 2
[1] 20
変数
変数に対して
処理(かけ算)
13年7月20日土曜日
複数の値をまとめる
> array <- c(10,20,30)
> array
[1] 10 20 30
> array * 2
[1] 20 40 60
配列
13年7月20日土曜日
複数の値をまとめる
> array <- c(10,20,30)
> array
[1] 10 20 30
> array * 2
[1] 20 40 60
3つの値を
配列に格納
配列
13年7月20日土曜日
複数の値をまとめる
> array <- c(10,20,30)
> array
[1] 10 20 30
> array * 2
[1] 20 40 60
値の確認
配列
13年7月20日土曜日
複数の値をまとめる
> array <- c(10,20,30)
> array
[1] 10 20 30
> array * 2
[1] 20 40 60
処理は
配列全体に
適用される
配列
13年7月20日土曜日
複数の値をまとめる
> array[1]
[1] 10
> array[2]
[1] 20
> array[3]
[1] 30
配列[番号]
で1個ずつ値を
取り出せる
配列
2個目
3個目
13年7月20日土曜日
2次元の配列
> array2 <- matrix(c(10,20,30,  
40,50,60), 2, 3)
> array2
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
行列
13年7月20日土曜日
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次元の配列
> array2 <- matrix(c(10,20,30,  
40,50,60), 2, 3)
> array2
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
2行3列の
行列
行列
1...
行列覚え方
http://wakuteka.info/R/110729
より転載
13年7月20日土曜日
各要素の指定
> array2[1,1]
[1] 10
> array2[1,]
[1] 10 30 50
> array2[,1]
[1] 10 20
1行1列を
指定
行列
1行目全体
を指定
1列目全体
を指定
13年7月20日土曜日
複数の型を持てる
> sex <- c("F","F","M","M","M")
> height <- c(158,162,177,173,166)
> weight <- c(51,55,72,57,64)
> ( x <- data.fr...
複数の型を持てる
> sex <- c("F","F","M","M","M")
> height <- c(158,162,177,173,166)
> weight <- c(51,55,72,57,64)
> ( x <- data.fr...
要素の指定
> x$HEIGHT
[1] 158 162 177 173 166
> x$HEIGHT[1]
[1] 158
> x$HEIGHT[1:3]
[1] 158 162 177
$で
身長(HEIGHT)
を全指定
データフレーム
...
処理
解析の流れ
データ
レポート
変数
配列
行列
関数 行
自作関数
CSV
13年7月20日土曜日
処理の呼び出し関数
•関数は複数の処理をまとめたもの
•関数名(引数) という書き方で呼び出す
•様々な計算が手軽に実行できる
13年7月20日土曜日
処理の呼び出し関数
目的 関数名と書式 使い方
データの結合 C(データ) C( C , B , B )
合計 sum(データ) sum(10,20,30)
個数を求める length(データ) length(array)
平均 mean(デー...
合計を求める関数
> array
[1] 10 20 30
> sum(array)
[1] 60
13年7月20日土曜日
合計を求める関数
> array
[1] 10 20 30
> sum(array)
[1] 60
先ほどの
配列array
13年7月20日土曜日
合計を求める関数
> array
[1] 10 20 30
> sum(array)
[1] 60
関数名(引数)
で処理呼び出し
13年7月20日土曜日
合計を求める関数
> array
[1] 10 20 30
> sum(array)
[1] 60
処理結果が
出力される
13年7月20日土曜日
合計を求める
> array2
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
> sum(array2)
[1] 210
合計値が
表示される
関数
先ほどの行列
array2
13年7月20日土曜日
結果を格納関数
> ret <- sum(array2)
> ret
[1] 210
処理結果を
変数に格納
変数
合計値の
確認
13年7月20日土曜日
CSV読み込み
•変数に毎回データを手入力するのは面倒
•CSV形式(カンマ区切り)ファイルを読み
込む関数がある
•CSV形式であればエクセル等と相互にデ
ータをやりとり出来る
関数CSV
13年7月20日土曜日
関数CSV
> hawks <- read.csv("hawks.csv")
> hawks
height salary
1 173 17000
2 178 14000
3 180 9000
CSV読み込み
13年7月20日土曜日
関数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ファイルの
変数への
読み込みが...
補足:クリップボード関数
#windowsの場合
>hawks <- read.table("clipboard",
header=TRUE,sep=’,’);
#macの場合
>hawks <- read.table(pipe("pbpast...
補足2:関数調べ方関数CSV
> ?read.table
> ??read.table
>help(read.table)
ヘルプを
呼び出すことが
出来る
13年7月20日土曜日
補足2:関数調べ方関数CSV
後半には
用例もあるので
参考に
> ?read.table
> ??read.table
>help(read.table)
13年7月20日土曜日
自分で関数を作る
•関数は自分で定義することも可能
•繰り返し使う処理は自作関数にする
自作関数
13年7月20日土曜日
自分で関数を作る自作関数
> 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
...
自分で関数を作る自作関数
> 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
...
自分で関数を作る自作関数
> 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
データフレーム
13年7月20日土曜日
関数をまとめたもの
•複数の関数をまとめたもの
•様々なパッケージがCRANというシステ
ムにて無料公開されている
•自作のパッケージも公開できる
パッケージ
13年7月20日土曜日
> install.packages( ggplot2 )
> library("ggplot2") CRANから
パッケージ
ダウンロード&
インストール
外部パッケージパッケージ
作図
13年7月20日土曜日
> install.packages( ggplot2 )
> library("ggplot2")
パッケージを
ロード
外部パッケージパッケージ
作図
13年7月20日土曜日
a <- 1:10
b <- a^2
qplot(a,b)
新たに
qplot関数が
使えるように
なった
外部パッケージパッケージ
作図
13年7月20日土曜日
a <- 1:10
b <- a^2
qplot(a,b)
qplot実行結果パッケージ
作図
13年7月20日土曜日
参考資料パッケージ
作図
http://www.slideshare.net/dichika/ggplot2
13年7月20日土曜日
ちなみに:標準作図関数作図
•標準の関数でも色々と作図可能
目的 関数名
ヒストグラム hist
散布図 plot
箱ヒゲ図 boxplot
・・・ ・・・
http://cse.naro.affrc.go.jp/takezawa/r-tips/...
分析用も色々あるパッケージ
目的 パッケージ名 関数名
主成分分析 stats(組み込み済) princomp
対応分析 MASS corresp
クラスター分析 stats hclust
線形回帰分析 stats lm
生存分析 surviv...
詳細はこちらの書籍で
http://amazon.jp/dp/4627096011/
13年7月20日土曜日
処理
一連の作業が実施可能
データ
レポート
13年7月20日土曜日
アジェンダ
•自己紹介とお知らせ
•Rって何
•Rの使い方
•Rの資料
13年7月20日土曜日
seekR
http://seekr.jp/
•R言語用検索エンジン
13年7月20日土曜日
ちなみに
•中の人がTokyoRで発表して下さいました!
http://www.slideshare.net/hiratake55/
seekrjp-2228155413年7月20日土曜日
RjpWiki
•R言語のWiki
http://www.okada.jp.org/RWiki/
13年7月20日土曜日
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
13年7月20日土曜日
CRAN Task Viws
•Rには2000以上パッケージがある
•用途別におすすめパッケージを紹介
http://cran.r-project.org/web/views/
13年7月20日土曜日
R-Chart
•Rでの作図のサンプルが多数ある
http://www.r-chart.com/
13年7月20日土曜日
まとめ
•Rは無料の統計解析ソフト
•データ解析からレポートまで利用可能
•Web上の資料も充実してます
13年7月20日土曜日
ご清聴ありがとうございました
13年7月20日土曜日
質疑応答
13年7月20日土曜日
予備資料
13年7月20日土曜日
連携も可能
プロトタイピング実務利用
プログラミング言語寄り
(カスタマイズ可能)
直感的な操作(用途は限定)
業務専用
パッケージ
.C()関数
RExcel
13年7月20日土曜日
イケメンツールRStudio
13年7月20日土曜日
RStudio資料
http://www.slideshare.net/wdkz/
rstudio-13866958
13年7月20日土曜日
Upcoming SlideShare
Loading in …5
×

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

2,659 views

Published on

the session of learning R at TokyoR#32
http://atnd.org/events/40213

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

No Downloads
Views
Total views
2,659
On SlideShare
0
From Embeds
0
Number of Embeds
37
Actions
Shares
0
Downloads
21
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

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

  1. 1. 10分で分かる R言語入門 ver2.3 大城信晃 2013/07/20 TokyoR#32 13年7月20日土曜日
  2. 2. 開催情報 ATND http://atnd.org/events/40213 セキココ http://sekico.co/zaseki/172 13年7月20日土曜日
  3. 3. はじめに:本資料の対象 •R言語初心者、または未経験の方に •Rの特徴を知ってもらう •初歩的な操作方法を知ってもらう •Rについての資料を紹介する 13年7月20日土曜日
  4. 4. はじめに:本資料の対象 •R言語初心者、または未経験の方に •Rの特徴を知ってもらう •初歩的な操作方法を知ってもらう •Rについての資料を紹介する すでにRを使いこなしている方々には申し 訳ありませんが、自習・睡眠学習等の時間 にお役立て下さいm(_ _ )m 13年7月20日土曜日
  5. 5. 初心者だけど2回目 • 箕田さんの初心者セッション • 集計、条件分岐、ループ、作図など http://www.slideshare.net/ aad34210/tokyo-r21 http://www.slideshare.net/ aad34210/tokyo-r30-beginner 13年7月20日土曜日
  6. 6. アジェンダ •自己紹介 •Rって何 •Rの使い方 •Rの資料 13年7月20日土曜日
  7. 7. 自己紹介 • 名前:大城信晃 • Twitter:doradora09 • 職業:Webエンジニア • R:勉強中 • マイブーム: • カクテル作り • カメラ 13年7月20日土曜日
  8. 8. 個人的なニュース •「R言語」でヤフー検索 13年7月20日土曜日
  9. 9. 本資料が1ページ目に! 13年7月20日土曜日
  10. 10. 本資料が1ページ目に! 13年7月20日土曜日
  11. 11. その結果 •4月から •所属部署が変わりました! 13年7月20日土曜日
  12. 12. この数ヶ月であったこと •これまで •ショッピング関連部署 •現在 •DS関連部署 13年7月20日土曜日
  13. 13. この数ヶ月であったこと •これまで •ショッピング関連部署 •現在 •DS関連部署 13年7月20日土曜日
  14. 14. DS !? 13年7月20日土曜日
  15. 15. データ サイエンティスト!? 13年7月20日土曜日
  16. 16. 惜しい! データソリューション でした! (だいたいあってる) 13年7月20日土曜日
  17. 17. 自己紹介 • 名前:大城信晃 • Twitter:doradora09 • 職業:Webエンジニア => DSエンジニア (データを使った何か) • R:勉強中 • マイブーム: • カクテル作り • カメラ13年7月20日土曜日
  18. 18. TokyoRで発表すると いいことあるかもしれま せんね! 発表者随時募集中です! 13年7月20日土曜日
  19. 19. では本題に •自己紹介とお知らせ •Rって何 •Rの使い方 •Rの資料 13年7月20日土曜日
  20. 20. R言語(アールげんご)は、オープンソ ースでフリーソフトウェアの統計解 析向けプログラミング言語、及びそ の開発実行環境である。 Wikipediaより引用 13年7月20日土曜日
  21. 21. オープンソース 個人が開発に参加できる フリーソフトウェア タダで使える 統計解析向け 関連パッケージが豊富 プログラミング言語 ロジックが記述可能 開発実行環境 Rコンソール 13年7月20日土曜日
  22. 22. こんな方におすすめ •色々な統計手法を試してみたい方 •エクセルでは物足りない方 13年7月20日土曜日
  23. 23. での使われ方 •プロトタイプをRで作って検証 •PythonやC++で実装 GoogleとFacebookではRをどうやって使っているのか? http://pracmper.blogspot.jp/2010/01/googlefacebookr.html 13年7月20日土曜日
  24. 24. 用途で分類 プロトタイピング実務利用 プログラミング言語寄り 直感的な操作(GUI) 業務専用 パッケージ 13年7月20日土曜日
  25. 25. 用途で分類 プロトタイピング実務利用 プログラミング言語寄り 直感的な操作(GUI) 業務専用 パッケージ 実装 13年7月20日土曜日
  26. 26. 特徴 価格 大規模データ 速度 パッケージ が豊富 無料 △ (メモリ依存) △ エクセル 直感的 1万∼ (約100万行) SAS 大規模 データ処理 数十万∼ ○ ○ C++ 高速 開発コスト高 無料∼ 数万 実装次第 ◎ 他言語との比較 13年7月20日土曜日
  27. 27. アジェンダ •自己紹介とお知らせ •Rって何 •Rの使い方 •Rの資料 13年7月20日土曜日
  28. 28. インストール Windows http://cran.md.tsukuba.ac.jp/ bin/windows/base/ Mac http://cran.md.tsukuba.ac.jp/ Linux http://cran.md.tsukuba.ac.jp/ 13年7月20日土曜日
  29. 29. Rコンソール起動 13年7月20日土曜日
  30. 30. Rコンソール起動 ココに処理を 記述していく 13年7月20日土曜日
  31. 31. Rコンソール起動 3+5 = 8 10-7 = 3 13年7月20日土曜日
  32. 32. 処理の記述 3+5 = 8 10-7 = 3 13年7月20日土曜日
  33. 33. 処理 解析の流れで説明 データ レポート 13年7月20日土曜日
  34. 34. 処理 解析の流れ データ レポート 変数 配列 行列 データフレーム 13年7月20日土曜日
  35. 35. 値を入れる箱 > hako <- 10 > hako [1] 10 変数 13年7月20日土曜日
  36. 36. 値を入れる箱 > hako <- 10 > hako [1] 10 変数 変数に値を入れる 左矢印のイメージ 13年7月20日土曜日
  37. 37. 値を入れる箱 > hako <- 10 > hako [1] 10 変数 変数名を打つと 中の値が出る 13年7月20日土曜日
  38. 38. 値を入れる箱 > hako <- 10 > hako [1] 10 > hako * 2 [1] 20 変数 変数に対して 処理(かけ算) 13年7月20日土曜日
  39. 39. 複数の値をまとめる > array <- c(10,20,30) > array [1] 10 20 30 > array * 2 [1] 20 40 60 配列 13年7月20日土曜日
  40. 40. 複数の値をまとめる > array <- c(10,20,30) > array [1] 10 20 30 > array * 2 [1] 20 40 60 3つの値を 配列に格納 配列 13年7月20日土曜日
  41. 41. 複数の値をまとめる > array <- c(10,20,30) > array [1] 10 20 30 > array * 2 [1] 20 40 60 値の確認 配列 13年7月20日土曜日
  42. 42. 複数の値をまとめる > array <- c(10,20,30) > array [1] 10 20 30 > array * 2 [1] 20 40 60 処理は 配列全体に 適用される 配列 13年7月20日土曜日
  43. 43. 複数の値をまとめる > array[1] [1] 10 > array[2] [1] 20 > array[3] [1] 30 配列[番号] で1個ずつ値を 取り出せる 配列 2個目 3個目 13年7月20日土曜日
  44. 44. 2次元の配列 > array2 <- matrix(c(10,20,30,   40,50,60), 2, 3) > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 60 行列 13年7月20日土曜日
  45. 45. 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という 関数を利用して 作る 行列 13年7月20日土曜日
  46. 46. 2次元の配列 > array2 <- matrix(c(10,20,30,   40,50,60), 2, 3) > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 60 2行3列の 行列 行列 13年7月20日土曜日
  47. 47. 行列覚え方 http://wakuteka.info/R/110729 より転載 13年7月20日土曜日
  48. 48. 各要素の指定 > array2[1,1] [1] 10 > array2[1,] [1] 10 30 50 > array2[,1] [1] 10 20 1行1列を 指定 行列 1行目全体 を指定 1列目全体 を指定 13年7月20日土曜日
  49. 49. 複数の型を持てる > 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関数で セット データフレーム 13年7月20日土曜日
  50. 50. 複数の型を持てる > 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 性別(bool型) 身長、体重(数値型) データフレーム 13年7月20日土曜日
  51. 51. 要素の指定 > 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番目 13年7月20日土曜日
  52. 52. 処理 解析の流れ データ レポート 変数 配列 行列 関数 行 自作関数 CSV 13年7月20日土曜日
  53. 53. 処理の呼び出し関数 •関数は複数の処理をまとめたもの •関数名(引数) という書き方で呼び出す •様々な計算が手軽に実行できる 13年7月20日土曜日
  54. 54. 処理の呼び出し関数 目的 関数名と書式 使い方 データの結合 C(データ) C( C , B , B ) 合計 sum(データ) sum(10,20,30) 個数を求める length(データ) length(array) 平均 mean(データ) mean(array) 標準偏差 sd(データ) sd(array) ・・・ ・・・ ・・・ 13年7月20日土曜日
  55. 55. 合計を求める関数 > array [1] 10 20 30 > sum(array) [1] 60 13年7月20日土曜日
  56. 56. 合計を求める関数 > array [1] 10 20 30 > sum(array) [1] 60 先ほどの 配列array 13年7月20日土曜日
  57. 57. 合計を求める関数 > array [1] 10 20 30 > sum(array) [1] 60 関数名(引数) で処理呼び出し 13年7月20日土曜日
  58. 58. 合計を求める関数 > array [1] 10 20 30 > sum(array) [1] 60 処理結果が 出力される 13年7月20日土曜日
  59. 59. 合計を求める > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 60 > sum(array2) [1] 210 合計値が 表示される 関数 先ほどの行列 array2 13年7月20日土曜日
  60. 60. 結果を格納関数 > ret <- sum(array2) > ret [1] 210 処理結果を 変数に格納 変数 合計値の 確認 13年7月20日土曜日
  61. 61. CSV読み込み •変数に毎回データを手入力するのは面倒 •CSV形式(カンマ区切り)ファイルを読み 込む関数がある •CSV形式であればエクセル等と相互にデ ータをやりとり出来る 関数CSV 13年7月20日土曜日
  62. 62. 関数CSV > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 2 178 14000 3 180 9000 CSV読み込み 13年7月20日土曜日
  63. 63. 関数CSV > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 2 178 14000 3 180 9000 read.csv関数に hawks.csvという CSVファイルを 渡して 変数に代入 CSV読み込み 13年7月20日土曜日
  64. 64. CSV読み込み関数CSV > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 2 178 14000 3 180 9000 CSVファイルの 変数への 読み込みが 確認できる 13年7月20日土曜日
  65. 65. 補足:クリップボード関数 #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 13年7月20日土曜日
  66. 66. 補足2:関数調べ方関数CSV > ?read.table > ??read.table >help(read.table) ヘルプを 呼び出すことが 出来る 13年7月20日土曜日
  67. 67. 補足2:関数調べ方関数CSV 後半には 用例もあるので 参考に > ?read.table > ??read.table >help(read.table) 13年7月20日土曜日
  68. 68. 自分で関数を作る •関数は自分で定義することも可能 •繰り返し使う処理は自作関数にする 自作関数 13年7月20日土曜日
  69. 69. 自分で関数を作る自作関数 > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) [1] 66.66667 13年7月20日土曜日
  70. 70. 自分で関数を作る自作関数 > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) [1] 66.66667 関数名 <- function (引数) { 処理 } 関数の定義 13年7月20日土曜日
  71. 71. 自分で関数を作る自作関数 > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) [1] 66.66667 関数名 <- function (引数) { 処理 } 関数名 13年7月20日土曜日
  72. 72. 自分で関数を作る自作関数 > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) [1] 66.66667 関数名 <- function (引数) { 処理 } 引数 (変数を渡す) 13年7月20日土曜日
  73. 73. 自分で関数を作る自作関数 > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) [1] 66.66667 関数名 <- function (引数) { 処理 } 処理を まとめる 13年7月20日土曜日
  74. 74. 自分で関数を作る自作関数 > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) [1] 66.66667 関数にまとめられた 処理が実行される (標本分散の算出) 13年7月20日土曜日
  75. 75. 処理 解析の流れ データ レポート 変数 配列 行列 関数 行 パッケージ 自作関数 作図 CSV データフレーム 13年7月20日土曜日
  76. 76. 関数をまとめたもの •複数の関数をまとめたもの •様々なパッケージがCRANというシステ ムにて無料公開されている •自作のパッケージも公開できる パッケージ 13年7月20日土曜日
  77. 77. > install.packages( ggplot2 ) > library("ggplot2") CRANから パッケージ ダウンロード& インストール 外部パッケージパッケージ 作図 13年7月20日土曜日
  78. 78. > install.packages( ggplot2 ) > library("ggplot2") パッケージを ロード 外部パッケージパッケージ 作図 13年7月20日土曜日
  79. 79. a <- 1:10 b <- a^2 qplot(a,b) 新たに qplot関数が 使えるように なった 外部パッケージパッケージ 作図 13年7月20日土曜日
  80. 80. a <- 1:10 b <- a^2 qplot(a,b) qplot実行結果パッケージ 作図 13年7月20日土曜日
  81. 81. 参考資料パッケージ 作図 http://www.slideshare.net/dichika/ggplot2 13年7月20日土曜日
  82. 82. ちなみに:標準作図関数作図 •標準の関数でも色々と作図可能 目的 関数名 ヒストグラム hist 散布図 plot 箱ヒゲ図 boxplot ・・・ ・・・ http://cse.naro.affrc.go.jp/takezawa/r-tips/r/50.html 参考URL 13年7月20日土曜日
  83. 83. 分析用も色々あるパッケージ 目的 パッケージ名 関数名 主成分分析 stats(組み込み済) princomp 対応分析 MASS corresp クラスター分析 stats hclust 線形回帰分析 stats lm 生存分析 survival Surv ニューラルネット nnet nnet ・・・ ・・・ ・・・ 処理 13年7月20日土曜日
  84. 84. 詳細はこちらの書籍で http://amazon.jp/dp/4627096011/ 13年7月20日土曜日
  85. 85. 処理 一連の作業が実施可能 データ レポート 13年7月20日土曜日
  86. 86. アジェンダ •自己紹介とお知らせ •Rって何 •Rの使い方 •Rの資料 13年7月20日土曜日
  87. 87. seekR http://seekr.jp/ •R言語用検索エンジン 13年7月20日土曜日
  88. 88. ちなみに •中の人がTokyoRで発表して下さいました! http://www.slideshare.net/hiratake55/ seekrjp-2228155413年7月20日土曜日
  89. 89. RjpWiki •R言語のWiki http://www.okada.jp.org/RWiki/ 13年7月20日土曜日
  90. 90. Rコミュニティ発表資料 http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage 「勉強会発表内容一覧」のリンクから •Tokyo.R, Nagoya.R, Tukuba.Rのアーカイブ 13年7月20日土曜日
  91. 91. RとSQLの対応付け •SQLが分かる人は一読の価値有り http://d.hatena.ne.jp/a_bicky/20110529/1306667230 13年7月20日土曜日
  92. 92. CRAN Task Viws •Rには2000以上パッケージがある •用途別におすすめパッケージを紹介 http://cran.r-project.org/web/views/ 13年7月20日土曜日
  93. 93. R-Chart •Rでの作図のサンプルが多数ある http://www.r-chart.com/ 13年7月20日土曜日
  94. 94. まとめ •Rは無料の統計解析ソフト •データ解析からレポートまで利用可能 •Web上の資料も充実してます 13年7月20日土曜日
  95. 95. ご清聴ありがとうございました 13年7月20日土曜日
  96. 96. 質疑応答 13年7月20日土曜日
  97. 97. 予備資料 13年7月20日土曜日
  98. 98. 連携も可能 プロトタイピング実務利用 プログラミング言語寄り (カスタマイズ可能) 直感的な操作(用途は限定) 業務専用 パッケージ .C()関数 RExcel 13年7月20日土曜日
  99. 99. イケメンツールRStudio 13年7月20日土曜日
  100. 100. RStudio資料 http://www.slideshare.net/wdkz/ rstudio-13866958 13年7月20日土曜日

×