More Related Content Similar to Tokyo r30 beginner Similar to Tokyo r30 beginner (20) More from Takashi Minoda (18) Tokyo r30 beginner2. 目次
1. 自己紹介
2. なぜこの話をしようと思ったのか
3. はじめてRをさわる
i. インストール
ii. 起動と終了
iii. デモ(demo())を使ってみよう
iv. データへのアクセス方法
v. データ集計方法
vi. 関数
vii.自作関数(fucntion)
viii.パッケージ
4. 次のステップ
5. まとめ
※ スクリーンショットや機能等はMac版となります。
基本的にはWindowsも同じものがあるはずです。
3. • 名前 :簑田 高志
• Twitter :aad34210
• ブログ :http://pracmper.blogspot.com/
• 出身地 :熊本県
• 出身学部 :法学部
• 仕事 :一般ユーザー向けWebサービスの企
画・運営、ネット広告のアナリスト
自己紹介
10. はじめてRをさわる - Ⅱ起動と終了
• このコマンドライン…実は結構くせ物。
改行で実行してしまうので、テキストエディタなどを使ってコピペしながら
やってみるのが良いかも。
Rのデフォルトエディタも利用可能。
ファイル > 新規文書で起動。
👇 “command + ente
でコンソールで実行します。
11. はじめてRをさわる - Ⅱ起動と終了
終了する際は、quit() コマンド、もしくは、ツールバーのR>Rを終了を選択。
• Rは、それまでのプログラムや実行内容を“ワークスーペース”
というファイルに保存します。
• 次回、そのワークスペースでRを起動したり、ワークスペースを読み出したりする
前回保存したときまでの環境がそのまま利用できます。
12. はじめてRをさわる - Ⅲデモを使ってみ
よう
• 市販本だとここで“iris”というデータを触ってみます。
• ですが、Rでどんなことができるのか?ということをみるために、「demo()」
という
関数を使ってみましょう。
demo(graphics)
を実行してみよう。
13. はじめてRをさわる - Ⅲデモを使ってみ
よう
• Reternキーを押すたびにグラフが表示されます。
この機能を使って
「Rってどんなの?」とか、
「Rって使えるの?」という質問を
上司・友達の
華麗にかわせます。
人間はビジュアルに弱いです。
14. はじめてRをさわる - Ⅳデータアクセス
方法
• 実際にデータを触ってみよう。
• “Iris”というアヤメのがくの長さ、種類などを記録しているデータがあります。
iris
データをすべて表示させます。
行数の多いデータを触る場合は
気をつけて。
head(iris , 10)
最初の10行を表示します。
デフォルトは6行を表示。
tail(iris , 10)
最後の10行を表示します。
デフォルトは6行を表示。
15. はじめてRをさわる - Ⅳデータアクセス
方法
• すべてのデータは必要なくて、特定の項目だけアクセスしたい場合。
• 2つの方法があります。
Iris$Sepal.Length
特定のにアクセス。
ベクトルで結果を返す。
Iris[,1] | iris[1,1]
Iris[行,列]でアクセス。
細かく値を確認するときに重宝。
head(iris[,1] , 10)
2番目を応用して、関
数に入れることができ
ます。
Irisの一列目の10行ま
で
を指定している。
☝これはよく利用する
ので覚えていて損はあ
16. はじめてRをさわる – Ⅴデータ集計方法
• 多くの解析の場合、まず「データを集計してみる」という作業が発生します。
• Rには多くの集計方法があります。(パッケージとかを利用する)
• まずはデフォルトで利用できるapply系の集計方法を試してみます。
apply(データ範囲, 集計方向, 関数)
• apply(iris[1:4] , 2 , sum)
各列を合計
• apply(iris[1:4] , 2 , mean)
各列の平均
• apply(iris[1:4] , 2 , sd)
各列の標準偏差
• apply(iris[1:4] , 2 ,quantile)
各列の四分点
17. はじめてRをさわる – Ⅴデータ集計方法
• 多くの解析の場合、まず「データを集計してみる」という作業が発生します。
• Rには多くの集計方法があります。(パッケージとかを利用する)
• まずはデフォルトで利用できるapply系の集計方法を試してみます。
apply(データ範囲, 集計方向, 関数)
• apply(iris[1:4] , 2 , sum)
各列を合計
• apply(iris[1:4] , 2 , mean)
各列の平均
• apply(iris[1:4] , 2 , sd)
各列の標準偏差
• apply(iris[1:4] , 2 ,quantile)
各列の四分点
18. はじめてRをさわる – Ⅴデータ集計方法
• 多くの場合、だいたい「カテゴリデータ」ごとで集計することが多いと思います
• その場合は、tapply()を利用します。
tapply(集計データ, 集計グループ, 関数)
• tapply(iris[,1] , iris[,5] , sum)
各列を合計
• tapply(iris[,1] , iris[,5] , mean)
各列の平均
• tapply(iris[,1] , iris[,5] , sd)
各列の標準偏差
• tapply(iris[,1] , iris[,5] , quantile)
各列の四分点
19. はじめてRをさわる – Ⅴデータ集計方法
• aggregate()という関数もあります。
• この関数のほうが“集計”という意味ではイメージしやすいかも。
aggregate(集計対象,集計カテゴリ,関数)
• aggregate(iris[,1:4] , list(name = iris$Species) , sum)
各列を合計
• aggregate(iris[,1:4] , list(name = iris$Species) , mean)
各列の平均
• aggregate(iris[,1:4] , list(name = iris$Species) , sd)
各列の標準偏差
• aggregate(iris[,1:4] , list(name = iris$Species) , quantile)
各列の四分点
20. はじめてRをさわる – Ⅴデータ集計方法
• これら以外でも、集計方法はあります。
• ggplot2パッケージ中の”plyr”や、SQLを利用できる方は”sqldf”などがあります
ddply(full_list,
c("Subject","Class"),
function(df)
return(c(AVERAGE=mean(df$RT
))))
■パッケージ:ggplot2 ■パッケージ:sqldf
■参考資料
http://cran.r-
project.org/web/packages/plyr/i
ndex.html
http://plyr.had.co.nz/
sqldf(“SELECT
Species ,
COUNT(*) as num
FROM
iris
GROUP BY
Species”)
■参考資料
http://code.google.com/p/sqldf/
http://www.slideshare.net/aad34210/tok
o-r-sqldf
過去にTokyoRで発表しました
21. はじめてRをさわる – Ⅵ 関数
• これまで、紹介したコードの中に、sum() , mean() などがでてきました。
• Rでは、Excelなどと同じように関数が準備してあります。
• すべてを紹介するのはかなり分量が多いので、主立ったところを紹介します。
関数 説明 使用例
Sum() 言わずと知れた、誰でも知っている関数。合計。 Sum(iris[,1])
Mean() 言わずと知れた、誰でも知っている関数。平均。 Mean(iris[,1])
sd() あんまり普段は使うことはないかも。標準偏差。 Sd(iris[,1])
Var() あんまり普段は使うことはないかも。分散 Var(iris[,1])
Max() みんな知ってる最大値。 max(iris[,1])
Min() みんな知ってる最小値。 Min(iris[,1])
Rank() ランキングを返す rank(iris[,1])
Cor() 相関係数を返す cor(iris[,1] ,
iris[,2])
・
・
22. はじめてRをさわる – Ⅵ 関数
• さらっと、どんな関数があるかを知りたい方は、以下の資料を参考
にすると良いかもしれません。
• http://cran.r-project.org/doc/contrib/Short-refcard.pdf
👇 Math の項目が関数。
👇 Rでどんなことができるのかが一覧になっているので便利。
Cheet Sheet、カンニングペーパーとも言います。
23. はじめてRをさわる – Ⅶ 自作関数
(FUNCTION)
• Rにこなれてくると、変数を使ったり、分岐させたり、ループさせたり…
• 大きなプログラムになってきます。
👇 そこで、function()を利用して、自分で関数を作ることが
できます。
• 例えば、入力された値が「プラス」であれば、「+」、マイナスであれ
ば「ー」を返す関数を作ってみる。
judge_value <- function(v) {
z <- ifelse(v >= 0 , "+" , "-")
print(z)
}
judge_value(v <- -10)
judge_value(v <- 10)
Judge_valueという関数を定義
入力されたvが0以上であれば“+”
それ以外であれば“ー”
を表示しなさい。
“−”が表
示
“+”が表
示
24. はじめてRをさわる – Ⅶ 自作関数
(FUNCTION)
• 最初に見せたコードをよく見てみると…
• 実はFunction()を使ったコードなのです。
なので、びっくりする必要ありませ
25. はじめてRをさわる – Ⅷ パッケージ
• 世界中の人がRのパッケージを作って公開しています。
• あなたがやりたいこと・解決したい問題は、
きっと世界の誰かが解決してくれています。
誰もやっていなかったら自分でやってみましょう!
• パッケージを利用できるようになると、ぐっとRを使いこなしてる感が高
まります。
パッケー
ジ調査
Rへイン
ストール
説明を読む
使ってみ
る
■パッケージの導入の流れ
• どんな処理をさせたいかをイメー
ジ
• CRAN Task Viewを見て見る
• http://cran.r-
project.org/web/views/
• 海外ブログを見てみる。
• Twitter、Facebookとかで調査
• Yahoo!で検索してみる。
• Install.packages()を
使ってインストール
• パッケージの
Vignettesを読んで使
い方、インプット・
アウトプットを学ぶ
• http://cran.r-
project.org/web/pack
ages/zoo/index.html
• 使ってみる!
26. はじめてRをさわる – Ⅷ パッケージ
• Install.packages()を使ってみる。
• ggplot2をインストールしてみましょう。
• install.packages("ggplot2”)と
いうコマンドを入力すると、
取得する場所を選択
• 選択すると、パッケージをダ
ウンロード開始。
• Library(ggplot2) で、実際に
使えるようになります。
28. まとめ
• 今日のまとめ
1. インストール :CRANからRの実行ファイルをDL&インス
トール
2. デモ :demo() を使って華麗に対応
3. データアクセス :iris , iris$Sepal.length , iris[1,1] , head(iris , 10)
4. データ集計 :apply系 , aggregate , plyr , sqldf
5. 関数 :sum() , mean() , sd() …
6. 自作関数 :function()
7. パッケージ :install.packages()