More Related Content
Similar to Tokyor23 doradora09
Similar to Tokyor23 doradora09 (20)
More from Nobuaki Oshiro (20)
Tokyor23 doradora09
- 2. Outline
●
自己紹介
●
お知らせ
●
テキスト紹介
● Rの導入
● Rをさわってみる
●
変数と行列
●
関数とパッケージ
●
まとめ
- 3. 自己紹介
● 大城信晃 (Twitter:doradora09)
● DB寄りWebエンジニア
● TokyoRは第1回目から参加。
– 今回で20回目くらい。主に運営のお手伝い
● 趣味:お酒、楽器(ホルン)
●
マイブーム:ルノアールで夜活
– ソファーが快適
- 4. お知らせ(1/4) セキココ
●
セキココという勉強会の座席共有サービスがあるので、もしよ
ければ使ってみてください
● 席に座っている人のTwitterアカウントが分かるので便利です
● http://sekico.co/
- 5. お知らせ(2/4) 飲み物
●
簡単ながらブースの後ろの方にお菓子・お飲
物を用意させていただきました
●
休憩時間にどうぞご利用下さい
– (いつかスイーツタイムを組み込んでみたい)
※画面はイメージです
- 6. お知らせ(3/4) 懇親会
● TokyoRではセッション終了後に懇親会を実施して
います
●
発表後の参加も可能ですので、プレゼンを聞いて興
味を持たれた方は是非ご参加下さい
● 一般1500円、学生は無料です!
※画面はイメージです
- 9. 本セッション目的
● R初心者にRをインストールしてもらう
● Rの簡単な使い方を覚えてもらう
– が主な目的です
– 新年度になり初めてRを使うユーザーさんもいると思うの
で、まずは導入編として
– R玄人の皆様には繰り返しになり申し訳ありません
– 自習 or 睡眠学習の時間としてご活用下さいm(_ _)m
– (セキココで参加者をフォローしまくってみるとか・・)
- 10. テキスト紹介
● Rによるやさしい統計学
● オーム社 (2008/1/25)
● 記念すべき第1回TokyoR
で用いたテキスト
– よくまとまっているので
もう一度利用してみよう
と思います
http://amazon.jp/dp/4274067106/creazynet-22/ref=nosim/
- 11. Rとは何か
●
統計解析用のソフトウェア
●
無料で利用可能
●
基本的にコードを記述して動作させる
– プログラミング言語としての側面
●
金融やマーケティング、医療など様々な分野で
利用されている
● 各地にR言語のコミュニティや勉強会があり、
情報交換が行われている
- 12. 紹介:各Rコミュニティの過去発表資料一覧
● ATNDの下のリンクからどうぞ
– http://atnd.org/events/28416
● 「勉強会発表内容一覧 – Japan.R WIki」
●
発表のタイトルを見るだけでもどういう用途があるか、あ
る程度参考になると思います
- 13. Rの導入
● Windows, Mac, Linux版がある
●
いずれも無料
– Windows
● http://cran.md.tsukuba.ac.jp/bin/windows/base/
– Mac, Linux
● http://cran.md.tsukuba.ac.jp/
- 15. Windows版の導入
●
基本的に他のアプリケーションと同様にイン
ストールできます
– 基本「次へ」を連打でOK
●
インストーラーをダウンロード後、ダブルク
リックで起動してください
- 23. ● あとはインストールが完了するまで待てばOK
- 24. Rの起動
●
インストールが完了するとRのアイコンが作成されます
●
Rのアイコンをダブルクリックして起動するとRコンソールが起動します
● Rコンソール上で実行したい処理を記述していきます
- 25. 電卓として使う
●
一番シンプルな使い方
● +や-といった演算子を用いて基本的な計算ができます
● Rコンソール上で以下のように記述して下さい
– #以降はコメントアウトされるので無視でOK
●
エンターで実行
3+5 #足し算
10-3 #引き算
2*3 #掛け算
20/4 #割り算
5^2 #5の2乗
13 %% 5 #13を5で割った余り(剰余)
- 26. 実行結果
> 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
- 27. 関数電卓として利用
●
関数はいくつかの処理をまとめたもの
●
関数を利用することで様々な処理を手軽に実施できる
● 関数名(引数) という記述で利用
– 関数によって引数の個数が変化
●
以下は関数の例
– sum(10,20,30) #引数の合計を求める
– sqrt(16) #16の平方根を求める
– date() #日付を表示
- 28. 関数電卓として利用
●
関数はいくつかの処理をまとめたもの
●
関数を利用することで様々な処理を手軽に実施でき
る
● 関数名(引数) という記述で利用
– 関数によって引数の個数が変化
●
以下は関数の例
– sum(10,20,30) #引数の合計を求める
– sqrt(16) #16の平方根を求める
– date() #日付を表示
- 30. レポート用の図を作成
● plot等の関数で作図が可能
● plot(c(10,20,30))とした例
– c()はデータの値を結合する関数
- 31. 参考:きれいな作図
● ggplot2という外部パッケージを利用すると視
覚的にきれいな作図が可能
– パッケージの導入法は後述します
- 32. データを効率的に扱う
●
ここではデータを効率的に扱うために
– 変数
– 行列のデータ作成
– 外部ファイルの読み込み
について説明します
- 33. 変数
●
変数を用いることで値をまとめて扱えます
● 先ほどのsum(10,20,30) の引数10,20,30場合
● 変数名 <- c(値1,値2,値3) と記述
●
例
– values <- c(10, 20, 30) #変数valuesに値をセット
– values #変数名を書くと中身が見れる
– sum(values) #sum関数に変数を渡す
●
なお変数名は自由につけられます
- 34. 実行結果
> values <- c(10, 20, 30) #変数valuesに値をセット
> values #変数名を書くと中身が見れる
[1] 10 20 30
> sum(values) #sum関数に変数を渡す
[1] 60
#補足
> sum(c(10,20,30)) #こう書いても同じ結果
[1] 60
●
変数を用いると複数の値をまとめて扱えるの
で便利
- 35. 行列の表現
● 次のようなデータをRで利用する方法について説明します
● ホークスの選手5人の身長(height)と年俸(salary)を表現した表
height salary
173 17000
178 14000
180 9000
183 50000
182 30000
- 36. Rで行列を記述
● matrix(c(値), 行数, 列数) という方法で記述
●
例
– hawks <- matrix(c(173, 178, 189, 183, 182,
17000, 14000, 9000, 50000, 30000), 5, 2)
- 37. 実行結果
> 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
● 変数hawksに5行2列の行列が格納された
- 38. 発展:行列の要素へのアクセス
●
行列の各要素には以下の方法でアクセスします
– n行目(横のデータ)を表示する場合は 変数名[n,]
– m列目(縦のデータ)を表示する場合は 変数名[,m]
– n行m列目を表示する場合は 変数名[n,m]
●
例
– hawks #行列全体を表示
– hawks[1,] #1行目のデータにアクセス
– hawks[,1] #1列目のデータにアクセス
– hawks[3,2] #3行2列目のデータにアクセス
- 39. 実行結果
> 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
- 40. 外部ファイルの読み込み
● RではCSV形式の外部ファイルを読み込むこと
ができます
– CSV:カンマ区切りのデータフォーマット
●
ここではエクセルと連携しやすいように、エ
クセルのデータからCSVファイルを作成し、R
に取り込む方法を説明します
- 41. データの用意
●
先ほども用いたホークスの選手の身長と年俸
を表現したリストをエクセルで用意します
height salary
173 17000
178 14000
180 9000
183 50000
182 30000
- 42. エクセルで作る場合
●
データをエクセル上で記述
●
1行目はヘッダー行で項目名に相当
●
2行目以下が各項目の値
- 43. エクセルの保存形式の変更
● エクセルのデータは通常はCSV形式ではないためそのままでは利用できま
せん
● 保存する際にCSV形式を選択します
● ここではhawks.csvというファイル名で保存
- 44. CSVファイルの確認
● 作成したhawks.csvをテキストエディタで開く
と次のようにカンマ区切りのデータが確認で
きます
height,salary
173,17000
178,14000
180,9000
183,50000
182,30000
●
なお直接テキストエディタでこのようなデータ
を作ることも可能です
- 45. CSVファイルの読み込み
● 作成したCSVファイルを読み込むためには、まず
CSVファイルを保存したフォルダに作業フォルダ
を移動します
● Rコンソールでは次の手順
– 「ファイル」 → 「ディレクトリの変更」
●
コマンドだと以下の手順
– getwd() #現在の作業ディレクトリを確認
– setwd(“作業ディレクトリまでのパス”) #移動
- 46. コマンド実行例
> getwd() #変更前の作業ディレクトリ
[1] "/Users/akiaki5516"
>
#作業ディレクトリ変更
>
setwd("/Users/akiaki5516/doradora12/Dropbox/TokyoR
/23")
> getwd() #変更後の作業ディレクトリ確認
[1] "/Users/akiaki5516/doradora12/Dropbox/TokyoR/23"
> dir(); #作業ディレクトリ内のファイル一覧
[1] "hawks.csv"
- 47. CSVファイルの読み込み
● read.csv(“ファイル名”) で読み込みます
●
例
– hawks2 <- read.csv(“hawks.csv”);
- 48. 実行結果
> hawks2 <- read.csv("hawks.csv") #csv
ファイルの読み込み
> hawks2 #変数の中身確認
height salary
1 173 17000
2 178 14000
3 180 9000
4 183 50000
5 182 30000
- 49. 関数を自作する
● Rではsum()等の組み込み関数の他に、ユー
ザーの自作関数を利用することができます
●
関数化することで同じ処理をまとめることが
できます
●
自身が作成した関数を配布したり、他人が自
作した関数を利用することも可能です
- 50. 自作関数varp()
● 関数名 <- function(引数) { 処理 } という記述
で関数を作る
● 標本分散を求めるvarp()関数を作ってみる
– 標本分散は偏差の二乗和 / データ
●
例
– varp <- function(x) {
– result <- var(x) * (length(x) - 1) / length(x)
– result
– }
- 51. 実行結果
> 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
> length(hawks2[,1]) #ちなみにlengthは個数を返す関数
[1] 5
- 52. 他の人の関数を使う
●
関数はファイルとして保存し、読み込むことが
可能です
● ファイルの拡張子は.R
●
例
– 先ほどのvarp関数をちょっと変えてvarp.Rとして保
存する
– varp <- function(x) {
– print("処理開始") #文言を追加
– result <- var(x) * (length(x) - 1) / length(x)
– result
– }
- 53. 関数の読み込み
● source(“関数ファイル名”) とします
●
例
– source(“varp.R”)
- 54. 実行結果
> source("varp.R") #関数ファイル読み込み
> res <- varp(hawks2[,1]) #resに結果格納
[1] "処理開始"
> res #結果出力
[1] 12.56
>
> varp #ちなみに()なしだと関数の中身が見れます
function(x) {
print("処理開始")
result <- var(x) * (length(x) - 1) / length(x)
result
}
>
- 55. パッケージをインストールしてみる
●
複数の関数をまとめたものがパッケージです
● パッケージはCRANと呼ばれるパッケージ管
理サーバに保存されています
● 最初に出てきたggplot2パッケージを入れてみ
ます
- 56. CRAN mirrorの設定
●
初回のみパッケージを取りにいくミラーサーバー
の指定が必要です
●
まずパッケージ管理画面を開きます
– windowsだとRコンソール上で「パッケージ」->
「パッケージのインストール」
– macだと「パッケージとデータ」 → 「パッケージイ
ンストーラ」
● 画面からミラーサイトとしてJapan(Hyogo)又は
Japan(Tsukuba)を選択
● パッケージマネージャの検索窓にggplot2と入力
し、インストールボタンを押します
– コマンドだと install.packages(“ggplot2”)
- 58. インストールしたパッケージを使う
●
インストールしたパッケージはそのままでは
使えないので、library関数で呼び出します
●
例
– library(“ggplot2)
- 59. 実行結果
●
依存関係のエラーが出た
> library("ggplot2")
エラー: パッケージ 'reshape' が 'ggplot2' によって要
求されましたが、見つけられませんでした
- 60. 依存関係の解消
●
パッケージの中で他のパッケージを利用している際は
依存関係が発生する
●
依存関係のエラーで出てきたパッケージを片っ端から
入れる
●
例
– insatll.pacages(“reshape”)
– insatll.pacages(“plyr”)
– install.pacages(“grid”)
– install.pacages(“proto”)
– install.pacages(“ggplot2”) #本命
- 61. 再度実行
●
今度はちゃんと呼び出せた
> insatll.pacages(“reshape”)
> insatll.pacages(“plyr”)
> install.pacages(“grid”)
> install.pacages(“proto”)
> install.pacages(“ggplot2”) #本命
> library(ggplot2) #今度は成功
- 63. ggplot2をもっと知りたい方へ
● 過去のR勉強会で発表されていますので、参考
にしてみてください
– ggplot2:パッケージ製作者(Wickamさん)の話
を聞いて @aad34210さん
● http://www.slideshare.net/aad34210/ggplot2-110129
– ggplot2できれいなグラフ@dichikaさん
● http://www.slideshare.net/dichika/ggplot2
- 64. まとめ
● Rをインストールするときは「rjpwiki」で検索
●
まずは電卓や関数電卓として使ってみてくださ
い
● plotやggplot2パッケージで作図も可能
●
変数でデータをまとめ、関数で処理をまとめ
る
● データはCSVフォーマットで取り込めます
● 関数パッケージはCRANからインストールで
きます
- 65. もっとRを知りたい方へ
●
初心者向けおすすめ資料
– はじめてのR @aad34210
● http://www.slideshare.net/aad34210/tokyo-r18
– 続はじめてのR @aad34210
● http://www.slideshare.net/aad34210/tokyo-r21-2
●
エクセルともっと連動させる
– RExcelでの日本語利用 @aad34210
●
http://www.slideshare.net/aad34210/japan-r-101127
– XLConnectで快適なエクセルライフのご提案
@dichika
●
http://www.slideshare.net/dichika/tokyor18