View
971
Download
6
Category
Preview:
Citation preview
10分で分かるR言語入門 ver2.1
大城信晃
12年10月20日土曜日
http://sekico.co/zaseki/62
セキココ
12年10月20日土曜日
アジェンダ
•自己紹介とお知らせ• Rって何• Rの使い方• Rの資料
12年10月20日土曜日
アジェンダ
•自己紹介とお知らせ• Rって何• Rの使い方• Rの資料
12年10月20日土曜日
自己紹介• 名前:大城信晃• Twitter:doradora09• 職業:Webエンジニア• R:勉強中• TokyoRでは懇親会• マイブーム:• カクテル作り• カメラが欲しい
12年10月20日土曜日
Tokyo.R懇親会幹事 doradora09からの お知らせお読み下さい
12年10月20日土曜日
良いお知らせ
12年10月20日土曜日
前回:出張用カクテル
•小型化により20本突破!
12年10月20日土曜日
今回:さらに小型化!•ショルダーバッグ化により30本突破!•懇親会でどうぞ
12年10月20日土曜日
よくないお知らせ
12年10月20日土曜日
我らが主催者:里
12年10月20日土曜日
昨日のこと
12年10月20日土曜日
昨日のこと
本日欠席12年10月20日土曜日
では本題に
•自己紹介とお知らせ•Rって何• Rの使い方• Rの資料
12年10月20日土曜日
R言語(アールげんご)は、オープンソースでフリーソフトウェアの統計解析向けプログラミング言語、及びその開発実行環境である。
Wikipediaより引用
12年10月20日土曜日
オープンソース 個人が開発に参加できるフリーソフトウェア タダで使える統計解析向け 関連パッケージが豊富
プログラミング言語 ロジックが記述可能開発実行環境 Rコンソール
12年10月20日土曜日
用途で分類
プロトタイピング実務利用
プログラミング言語寄り
直感的な操作(GUI)
業務専用パッケージ
12年10月20日土曜日
連携も可能
プロトタイピング実務利用
プログラミング言語寄り(カスタマイズ可能)
直感的な操作(用途は限定)
業務専用パッケージ
.C()関数
RExcel
12年10月20日土曜日
特徴 価格 大規模データ
速度パッケージが豊富 無料 △
(メモリ依存)△
エクセル 直感的 1万~ ×(約100万行)
×
SAS 大規模データ処理 数十万~ ○ ○
C++ 高速開発コスト高
無料~数万
実装次第 ◎
他言語との比較
12年10月20日土曜日
での使われ方
•プロトタイプをRで作って検証• PythonやC++で実装
GoogleとFacebookではRをどうやって使っているのか? http://pracmper.blogspot.jp/2010/01/googlefacebookr.html
12年10月20日土曜日
こんな方におすすめ
•エクセルでは物足りない方•手軽に統計手法を試してみたい方
12年10月20日土曜日
アジェンダ
•自己紹介とお知らせ• Rって何•Rの使い方• Rの資料
12年10月20日土曜日
インストール
Windows http://cran.md.tsukuba.ac.jp/bin/windows/base/
Mac http://cran.md.tsukuba.ac.jp/
Linux http://cran.md.tsukuba.ac.jp/
12年10月20日土曜日
Rコンソール起動
12年10月20日土曜日
Rコンソール起動
ココに処理を記述していく
12年10月20日土曜日
例:足し算引き算
3+5 = 810-7 = 3
12年10月20日土曜日
処理
解析の流れデータ
レポート12年10月20日土曜日
処理
解析の流れデータ
レポート
変数配列行列
12年10月20日土曜日
値を入れる箱> hako <- 10
> hako
[1] 10
変数
12年10月20日土曜日
値を入れる箱> hako <- 10
> hako
[1] 10
変数
変数に値を入れる左矢印のイメージ
12年10月20日土曜日
値を入れる箱> hako <- 10
> hako
[1] 10
変数
変数名を打つと中の値が出る
12年10月20日土曜日
値を入れる箱> hako <- 10
> hako
[1] 10
> hako * 2
[1] 20
変数
変数に対して処理(かけ算)
12年10月20日土曜日
複数の値をまとめる> array <- c(10,20,30)
> array
[1] 10 20 30
> array * 2
[1] 20 40 60
配列
12年10月20日土曜日
複数の値をまとめる> array <- c(10,20,30)
> array
[1] 10 20 30
> array * 2
[1] 20 40 60
3つの値を配列に格納
配列
12年10月20日土曜日
複数の値をまとめる> array <- c(10,20,30)
> array
[1] 10 20 30
> array * 2
[1] 20 40 60
値の確認
配列
12年10月20日土曜日
複数の値をまとめる> array <- c(10,20,30)
> array
[1] 10 20 30
> array * 2
[1] 20 40 60
処理はすべての値に適用される
配列
12年10月20日土曜日
複数の値をまとめる> array[1]
[1] 10
> array[2]
[1] 20
> array[3]
[1] 30
配列[番号]で1個ずつ値を取り出せる
配列
12年10月20日土曜日
複数の値をまとめる> array[1]
[1] 10
> array[2]
[1] 20
> array[3]
[1] 30
配列
2個目
12年10月20日土曜日
複数の値をまとめる> array[1]
[1] 10
> array[2]
[1] 20
> array[3]
[1] 30
配列
3個目
12年10月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
行列
12年10月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という関数を利用して
作る
行列
12年10月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
2行3列の行列
行列
12年10月20日土曜日
各要素の指定> array2[1,1]
[1] 10
> array2[1,]
[1] 10 30 50
> array2[,1]
[1] 10 20
1行1列を指定
行列
12年10月20日土曜日
各要素の指定> array2[1,1]
[1] 10
> array2[1,]
[1] 10 30 50
> array2[,1]
[1] 10 20
1行目全体を指定
行列
12年10月20日土曜日
各要素の指定> array2[1,1]
[1] 10
> array2[1,]
[1] 10 30 50
> array2[,1]
[1] 10 20 1列目全体を指定
行列
12年10月20日土曜日
処理
解析の流れデータ
レポート
変数配列行列
関数 行列自作関数
CSV
12年10月20日土曜日
処理の呼び出し関数
•関数は複数の処理をまとめたもの•関数名(引数) という書き方で呼び出す
12年10月20日土曜日
処理の呼び出し関数
目的 関数名と書式 使い方データの結合 C(データ) C(“C”,”B”,”B”)合計 sum(データ) sum(10,20,30)
個数を求める length(データ) length(array)平均 mean(データ) mean(array)標準偏差 sd(データ) sd(array)・・・ ・・・ ・・・
12年10月20日土曜日
合計を求める関数
> array
[1] 10 20 30
> sum(array)
[1] 60
12年10月20日土曜日
合計を求める関数
> array
[1] 10 20 30
> sum(array)
[1] 60
先ほどの配列array
12年10月20日土曜日
合計を求める関数
> array
[1] 10 20 30
> sum(array)
[1] 60
関数名(引数)で処理呼び出し
12年10月20日土曜日
合計を求める関数
> array
[1] 10 20 30
> sum(array)
[1] 60 処理結果が出力される
12年10月20日土曜日
合計を求める関数> array2
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
> sum(array2)
[1] 210
先ほどの行列を渡した場合
12年10月20日土曜日
合計を求める> array2
[,1] [,2] [,3]
[1,] 10 30 50
[2,] 20 40 60
> sum(array2)
[1] 210
合計値が表示される
関数
12年10月20日土曜日
結果を格納関数
> ret <- sum(array2)
> ret
[1] 210 処理結果を変数に格納
変数
12年10月20日土曜日
結果を格納関数
> ret <- sum(array2)
> ret
[1] 210 合計値の確認
変数
12年10月20日土曜日
処理
解析の流れデータ
レポート
変数配列行列
関数 行列自作関数
CSV
12年10月20日土曜日
CSV読み込み
•変数に毎回データを手入力するのは面倒• CSVファイルを読み込む関数がある•エクセル等の外部データ連携に利用
関数CSV
12年10月20日土曜日
関数CSV> hawks <- read.csv("hawks.csv")
> hawks
height salary
1 173 17000
2 178 14000
3 180 9000
CSV読み込み
12年10月20日土曜日
関数CSV> hawks <- read.csv("hawks.csv")
> hawks
height salary
1 173 17000
2 178 14000
3 180 9000
read.csv関数にCSVファイルを
渡す
CSV読み込み
12年10月20日土曜日
CSV読み込み関数CSV> hawks <- read.csv("hawks.csv")
> hawks
height salary
1 173 17000
2 178 14000
3 180 9000
CSVファイルの取り込みが確認できる
12年10月20日土曜日
処理
解析の流れデータ
レポート
変数配列行列
関数 行列自作関数
CSV
12年10月20日土曜日
自分で関数を作る
•関数は自分で定義することも可能•繰り返し使う処理は自作関数にする
自作関数
12年10月20日土曜日
自分で関数を作る自作関数
> varp <- function(x) {
retsult <- var(x) * (length(x) - 1) / length(x)
retsult
}
> varp(array)
[1] 66.66667
12年10月20日土曜日
自分で関数を作る自作関数
> varp <- function(x) {
retsult <- var(x) * (length(x) - 1) / length(x)
retsult
}
> varp(array)
[1] 66.66667
関数名 <- function (引数) { 処理
}
関数の定義
12年10月20日土曜日
自分で関数を作る自作関数
> varp <- function(x) {
retsult <- var(x) * (length(x) - 1) / length(x)
retsult
}
> varp(array)
[1] 66.66667
定義された処理が実行される(不偏分散の算出)
12年10月20日土曜日
処理
解析の流れデータ
レポート
変数配列行列
関数 行列
パッケージ
自作関数
作図
CSV
12年10月20日土曜日
関数をまとめたもの
•複数の関数をまとめられる•自作のパッケージも公開できる•外部のパッケージも利用可能
パッケージ
12年10月20日土曜日
外部パッケージ
•外部パッケージはCRANに集約•すべて無料でダウンロードできる
パッケージ
12年10月20日土曜日
> install.packages(“ggplot2”)
> library("ggplot2") CRANからパッケージダウンロード&インストール
外部パッケージパッケージ作図
12年10月20日土曜日
> install.packages(“ggplot2”)
> library("ggplot2") パッケージをロード
外部パッケージパッケージ作図
12年10月20日土曜日
a <- 1:10
b <- a^2
qplot(a,b)新たに
qplot関数が使える
外部パッケージパッケージ作図
12年10月20日土曜日
a <- 1:10
b <- a^2
qplot(a,b)
qplot実行結果パッケージ作図
12年10月20日土曜日
その他作図関数パッケージ作図
•標準の関数でも作図可能目的 関数名と書式 使い方
ヒストグラム hist(データ) hist(array)
散布図 plot(x, y) plot(a,b)
・・・ ・・・ ・・・
12年10月20日土曜日
処理
一連の作業がすべて可能データ
レポート12年10月20日土曜日
アジェンダ
•自己紹介とお知らせ• Rって何• Rの使い方•Rの資料
12年10月20日土曜日
CRAN Task Viws• Rには2000以上パッケージがある•用途別におすすめパッケージを紹介http://cran.r-project.org/web/views/
12年10月20日土曜日
seekR
http://seekr.jp/
• R言語用検索エンジン
12年10月20日土曜日
RjpWiki• R言語のWikihttp://www.okada.jp.org/RWiki/
12年10月20日土曜日
Rコミュニティ発表資料http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage「勉強会発表内容一覧」のリンクから
• Tokyo.R, Nagoya.R, Tukuba.Rのアーカイブ
12年10月20日土曜日
RとSQLの対応付け• SQLが分かる人は一読の価値有りhttp://d.hatena.ne.jp/a_bicky/20110529/1306667230
12年10月20日土曜日
R-Chart• Rでの作図のサンプルが多数あるhttp://www.r-chart.com/
12年10月20日土曜日
まとめ
•Rは無料の統計解析ソフト•パッケージが豊富•データ解析からレポートまで利用可能
12年10月20日土曜日
ご清聴ありがとうございました
12年10月20日土曜日
質疑応答
12年10月20日土曜日
予備資料
12年10月20日土曜日
イケメンツールRStudio
12年10月20日土曜日
Recommended