10min r study_tokyor25

39
10分で分かるR言語入門 大城信晃

Transcript of 10min r study_tokyor25

Page 1: 10min r study_tokyor25

10分で分かるR言語入門

大城信晃

Page 2: 10min r study_tokyor25

アジェンダ

● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ

Page 3: 10min r study_tokyor25

アジェンダ

● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ

Page 4: 10min r study_tokyor25

自己紹介

● 名前:大城信晃● Twitter:doradora09● 職業:Webエンジニア● R:たまに触る程度

– 最近Rを使ったのは120万行のデータをuniqにしてsort

– デスクトップ上のデータに対して作業するのには便利かも

● 趣味:– カクテル作り再開しました

Page 5: 10min r study_tokyor25

カクテル

max18本まで収納できることが判明何本か持ってきたので懇親会でどうぞ

Page 6: 10min r study_tokyor25

アジェンダ

● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ

Page 7: 10min r study_tokyor25

Rとは

統計用の言語(関数型言語)無料で使える

Page 8: 10min r study_tokyor25

Rと他言語比較

統計のパッケージが豊富(自作して公開も可能)

プロトタイピング向き

統計パッケージ 速度 ソフト費用 大規模データ処理

R ◎ △ 無料△

(メモリに乗る範囲)

エクセル △ △ 1万位 ×

SPSS ○ ○ 10万位 ○

C++ × ◎ 無料 ○(書き方による)

Page 9: 10min r study_tokyor25

研究分野以外での実績は?

金融、マーケティング、ソーシャルゲームGoogleやfacebookでも使われてます

http://pracmper.blogspot.jp/2010/01/googlefacebookr.html

GoogleとFacebookではRをどうやって使っているのか?

・Googleではデータ探索やモデルのプロトタイピングを行っています。一般的にプロダクション(公開している製品の意味?)には使っていません。デスクトップの環境だけです。・(Googleでの)一般的な使い方は、1.他のツールでデータを抽出 2.Rへインポート 3.Rで解析とモデリングを作成 4.PythonやC++ でモデリング結果をプロダクションへ実装

Page 10: 10min r study_tokyor25

Rで利用できる解析手法紹介

2000程度のパッケージがあるので大抵の分析はできる日本語の情報(wiki, 書籍, コミュニティ)も増えてきた

● 主成分分析/因子分析/対応分析● 多次元尺度法/クラスター分析● 自己組織化マップ/線形回帰分析● 非線形回帰分析/線形判別分析● 非線形判別分析 /生存分析/時系列● 樹木モデル/ニューラルネットワーク● カーネル法とサポートベクターマシン● 集団学習/アソシエーション分析

など

Page 11: 10min r study_tokyor25

アジェンダ

● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ

Page 12: 10min r study_tokyor25

Rの導入

Windows, Mac, Linux版がある困ったらrjpwikiでググっても出てくる

OS URL

Windowshttp://cran.md.tsukuba.ac.jp/bin/wind

ows/base/

Mac, Linux http://cran.md.tsukuba.ac.jp/

Page 13: 10min r study_tokyor25

Rの導入:連打

インストーラーを起動して連打完了後Rアイコンをダブルクリックで起動

Rコンソール

Page 14: 10min r study_tokyor25

Rの導入:Rコンソール

Rコンソール上で処理内容を記述していきますエクセル等と比較するとプログラム言語色が強いです

ココに入力してエンターで実行

Page 15: 10min r study_tokyor25

アジェンダ

● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ

Page 16: 10min r study_tokyor25

Rの基本操作

● 四則演算● 関数の利用● 作図● 変数● 行列● 行列の要素へのアクセス● 関数の自作● パッケージ● ヘルプ

Page 17: 10min r study_tokyor25

Rの基本操作:四則演算

基本的な演算> 3+5 #足し算[1] 8> 10-3 #引き算 [1] 7> 2*3 #掛け算[1] 6> 20/4 #割り算[1] 5> > 5^2 #5の2乗[1] 25> 13 %% 5 #13を5で割った余り(剰余)[1] 3

Page 18: 10min r study_tokyor25

Rの基本操作:関数の利用

様々な関数が利用可能

> sum(10,20,30) #引数をすべて合計する[1] 60> sqrt(16) #16の平方根を求める[1] 4> date() #日付を表示[1] "Fri May 25 09:48:09 2012"

Page 19: 10min r study_tokyor25

Rの基本操作:作図

plotで作図> plot(c(10,20,30))

Page 20: 10min r study_tokyor25

Rの基本操作:変数

変数は値を格納する箱のようなもの値の代入には <- (左向きの矢印の意味)を使う

> values <- c(10, 20, 30) #変数valuesに値をセット> values #変数名を書くと中身が見れる [1] 10 20 30> sum(values) #sum関数に変数を渡す[1] 60

Page 21: 10min r study_tokyor25

Rの基本操作:行列

行列型の変数も利用可能

> hawks <- matrix(c(173, 178, 189, 183, 182,+ 17000, 14000, 9000, 50000, 30000), 5, 2)

> hawks #変数の中身確認(行列) [,1] [,2][1,] 173 17000[2,] 178 14000[3,] 189 9000[4,] 183 50000[5,] 182 30000

Page 22: 10min r study_tokyor25

Rの基本操作:行列の要素へアクセス

行列から指定した位置の値を取り出す

> hawks #行列全体を表示 [,1] [,2][1,] 173 17000[2,] 178 14000[3,] 189 9000[4,] 183 50000[5,] 182 30000

> hawks[1,] #1行目のデータにアクセス[1] 173 17000> hawks[,1] #1列目のデータにアクセス[1] 173 178 189 183 182> hawks[3,2] #3行2列目のデータにアクセス[1] 9000

Page 23: 10min r study_tokyor25

Rの基本操作:行列の要素へアクセス

行列から指定した位置の値を取り出す

> hawks #行列全体を表示 [,1] [,2][1,] 173 17000[2,] 178 14000[3,] 189 9000[4,] 183 50000[5,] 182 30000

> hawks[1,] #1行目のデータにアクセス[1] 173 17000> hawks[,1] #1列目のデータにアクセス[1] 173 178 189 183 182> hawks[3,2] #3行2列目のデータにアクセス[1] 9000

Page 24: 10min r study_tokyor25

Rの基本操作:行列の要素へアクセス

行列から指定した位置の値を取り出す

> hawks #行列全体を表示 [,1] [,2][1,] 173 17000[2,] 178 14000[3,] 189 9000[4,] 183 50000[5,] 182 30000

> hawks[1,] #1行目のデータにアクセス[1] 173 17000> hawks[,1] #1列目のデータにアクセス[1] 173 178 189 183 182> hawks[3,2] #3行2列目のデータにアクセス[1] 9000

Page 25: 10min r study_tokyor25

Rの基本操作:外部ファイル読み込み

CSVファイルを読み込んで変数に格納可能大量のデータを処理する際に便利

> hawks2 <- read.csv("hawks.csv") #csvファイルの読み込み

> hawks2 #変数の中身確認 height salary1 173 170002 178 140003 180 90004 183 500005 182 30000

Page 26: 10min r study_tokyor25

Rの基本操作:関数の自作

関数の定義にはfunction()を使う

> varp <- function(x) { #自作関数+ result <- var(x) * (length(x) - 1) / length(x)+ result+ }>

> hawks2[,1] #ホークスのデータを入れてみる[1] 173 178 180 183 182

> varp(hawks2[,1]) #標本分散[1] 12.56

Page 27: 10min r study_tokyor25

Rの基本操作:パッケージ

CRAN(パッケージ管理サーバ)からパッケージをダウンロードして使える

> install.packages(“ggplot2”) #パッケージのインストール> library("ggplot2") #パッケージをロード

Page 28: 10min r study_tokyor25

Rの基本操作:パッケージ

プロットパッケージggplot2のqplot利用例> qplot(salary, height, data = hawks2, colour = I("blue"))

Page 29: 10min r study_tokyor25

Rの基本操作:ヘルプ

??パッケージ名, ?関数名, help(関数名)

普通はヘルプ後半には実行例のソースコードも載ってます

> ?qplot

Page 30: 10min r study_tokyor25

アジェンダ

● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ

Page 31: 10min r study_tokyor25

参考資料:seekR

http://d.hatena.ne.jp/a_bicky/20110529/1306667230

R言語用の検索サイト。– 普通の検索エンジンでRを探すと別のものがヒットしまくるので便利

Page 32: 10min r study_tokyor25

参考資料:rjpwiki

http://www.okada.jp.org/RWiki/

R言語wiki。初級者のQ&Aもある。日本語サイト

Page 33: 10min r study_tokyor25

参考資料:各Rコミュニティの過去発表資料

http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage

「勉強会発表内容一覧」のリンクから。Tokyo.Rの過去資料も載ってます。

Page 34: 10min r study_tokyor25

参考資料:あらびき日記 RとSQLを対応付けてみた

http://d.hatena.ne.jp/a_bicky/20110529/1306667230

a_bickyさんのエントリ。DB使いにはうれしい

Page 35: 10min r study_tokyor25

参考資料:R-Chart

http://www.r-chart.com/

Rでの作図のサンプルが多数ある。英語サイト

Page 36: 10min r study_tokyor25

アジェンダ

● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ

Page 37: 10min r study_tokyor25

まとめ

● Rは無料で使える統計解析用の言語● Windows, Mac, Linux版がある● 基本的な演算や変数、関数が使える

– プログラミング言語色が強い● plotによる作図● CSVファイル連携● その他各種パッケージの利用が可能● 検索するときはSeekRが便利

Page 38: 10min r study_tokyor25

ご清聴ありがとうございました

Page 39: 10min r study_tokyor25

質疑応答