10min r study_tokyor25
TRANSCRIPT
10分で分かるR言語入門
大城信晃
アジェンダ
● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ
アジェンダ
● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ
自己紹介
● 名前:大城信晃● Twitter:doradora09● 職業:Webエンジニア● R:たまに触る程度
– 最近Rを使ったのは120万行のデータをuniqにしてsort
– デスクトップ上のデータに対して作業するのには便利かも
● 趣味:– カクテル作り再開しました
カクテル
max18本まで収納できることが判明何本か持ってきたので懇親会でどうぞ
アジェンダ
● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ
Rとは
統計用の言語(関数型言語)無料で使える
Rと他言語比較
統計のパッケージが豊富(自作して公開も可能)
プロトタイピング向き
統計パッケージ 速度 ソフト費用 大規模データ処理
R ◎ △ 無料△
(メモリに乗る範囲)
エクセル △ △ 1万位 ×
SPSS ○ ○ 10万位 ○
C++ × ◎ 無料 ○(書き方による)
研究分野以外での実績は?
金融、マーケティング、ソーシャルゲームGoogleやfacebookでも使われてます
http://pracmper.blogspot.jp/2010/01/googlefacebookr.html
GoogleとFacebookではRをどうやって使っているのか?
・Googleではデータ探索やモデルのプロトタイピングを行っています。一般的にプロダクション(公開している製品の意味?)には使っていません。デスクトップの環境だけです。・(Googleでの)一般的な使い方は、1.他のツールでデータを抽出 2.Rへインポート 3.Rで解析とモデリングを作成 4.PythonやC++ でモデリング結果をプロダクションへ実装
Rで利用できる解析手法紹介
2000程度のパッケージがあるので大抵の分析はできる日本語の情報(wiki, 書籍, コミュニティ)も増えてきた
● 主成分分析/因子分析/対応分析● 多次元尺度法/クラスター分析● 自己組織化マップ/線形回帰分析● 非線形回帰分析/線形判別分析● 非線形判別分析 /生存分析/時系列● 樹木モデル/ニューラルネットワーク● カーネル法とサポートベクターマシン● 集団学習/アソシエーション分析
など
アジェンダ
● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ
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/
Rの導入:連打
インストーラーを起動して連打完了後Rアイコンをダブルクリックで起動
Rコンソール
Rの導入:Rコンソール
Rコンソール上で処理内容を記述していきますエクセル等と比較するとプログラム言語色が強いです
ココに入力してエンターで実行
アジェンダ
● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ
Rの基本操作
● 四則演算● 関数の利用● 作図● 変数● 行列● 行列の要素へのアクセス● 関数の自作● パッケージ● ヘルプ
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
Rの基本操作:関数の利用
様々な関数が利用可能
> sum(10,20,30) #引数をすべて合計する[1] 60> sqrt(16) #16の平方根を求める[1] 4> date() #日付を表示[1] "Fri May 25 09:48:09 2012"
Rの基本操作:作図
plotで作図> plot(c(10,20,30))
Rの基本操作:変数
変数は値を格納する箱のようなもの値の代入には <- (左向きの矢印の意味)を使う
> values <- c(10, 20, 30) #変数valuesに値をセット> values #変数名を書くと中身が見れる [1] 10 20 30> sum(values) #sum関数に変数を渡す[1] 60
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
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
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
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
Rの基本操作:外部ファイル読み込み
CSVファイルを読み込んで変数に格納可能大量のデータを処理する際に便利
> hawks2 <- read.csv("hawks.csv") #csvファイルの読み込み
> hawks2 #変数の中身確認 height salary1 173 170002 178 140003 180 90004 183 500005 182 30000
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
Rの基本操作:パッケージ
CRAN(パッケージ管理サーバ)からパッケージをダウンロードして使える
> install.packages(“ggplot2”) #パッケージのインストール> library("ggplot2") #パッケージをロード
Rの基本操作:パッケージ
プロットパッケージggplot2のqplot利用例> qplot(salary, height, data = hawks2, colour = I("blue"))
Rの基本操作:ヘルプ
??パッケージ名, ?関数名, help(関数名)
普通はヘルプ後半には実行例のソースコードも載ってます
> ?qplot
アジェンダ
● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ
参考資料:seekR
http://d.hatena.ne.jp/a_bicky/20110529/1306667230
R言語用の検索サイト。– 普通の検索エンジンでRを探すと別のものがヒットしまくるので便利
参考資料:rjpwiki
http://www.okada.jp.org/RWiki/
R言語wiki。初級者のQ&Aもある。日本語サイト
参考資料:各Rコミュニティの過去発表資料
http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage
「勉強会発表内容一覧」のリンクから。Tokyo.Rの過去資料も載ってます。
参考資料:あらびき日記 RとSQLを対応付けてみた
http://d.hatena.ne.jp/a_bicky/20110529/1306667230
a_bickyさんのエントリ。DB使いにはうれしい
参考資料:R-Chart
http://www.r-chart.com/
Rでの作図のサンプルが多数ある。英語サイト
アジェンダ
● 自己紹介● Rとは● Rの導入● Rの基本操作● Rの情報源● まとめ
まとめ
● Rは無料で使える統計解析用の言語● Windows, Mac, Linux版がある● 基本的な演算や変数、関数が使える
– プログラミング言語色が強い● plotによる作図● CSVファイル連携● その他各種パッケージの利用が可能● 検索するときはSeekRが便利
ご清聴ありがとうございました
質疑応答