はじめての
TOKYO.R #38
簑田 高志
目次
1. 自己紹介
2. なぜこの話をしようと思ったのか
3. はじめてRをさわる
i. インストール
ii. 起動と終了
iii. デモ(demo())を使ってみよう
iv. データへのアクセス方法
v. データ集計方法
vi. 関数
vii.自作関数(fucntion)
viii.パッケージ
4. 次のステップ
5. まとめ
※ スクリーンショットや機能等はMac版となります。
基本的にはWindowsも同じものがあるはずです。
• 名前 :簑田 高志
• Twitter :aad34210
• ブログ :http://pracmper.blogspot.com/
• 仕事 :インターネット広告のビジネスアナリスト
自己紹介
なぜこの話をしようと思ったのか
いきなりですが、ちょっと質問です。
• Rに興味があって使ってみようかなと
思っている方
• Rを始めて数日〜数週間の方
• プログラムは作ったことがない方
なぜこの話をしようと思ったのか
そんな皆様
この後のお話は、こんなプログラムが結構
出てきます。(くるかも)
覚悟はいいですか?
なぜこの話をしようと思ったのか
というのは冗談です。
しかし、Rを使う場合は、
少なからずプログラム的な記述をする必要
があります。
これからの話は、
• 初めての方でも、この後の話でついてい
けるように、
• ごく初歩的なRの使い方の話をしようと
思います。
(評判が良ければ連載かも…)
はじめてRをさわる- Ⅰインストール
• Rのインストールは以下のサイトからファイルをダウンロード・展開することによって
利用をすることができます。
http://www.r-project.org/
利用環境に合わせて
ファイルをダウンロード・
インストール
はじめてRをさわる - Ⅱ起動と終了
• 無事にインストールが終わると、
👇のようなアイコンが現れます。これをダブルクリックして起動できます。
ここにRのコマンドを
入れていきます。
はじめてRをさわる - Ⅱ起動と終了
• このコマンドライン…実は結構くせ物。
改行で実行してしまうので、テキストエディタなどを使ってコピペしながらやってみるの
が良いかも。
Rのデフォルトエディタも利用可能。
ファイル > 新規文書で起動。
コマンドを選択👉“command + enter”
でコンソールで実行します。
はじめてRをさわる - Ⅱ起動と終了
終了する際は、quit() コマンド、もしくは、ツールバーのR>Rを終了を選択。
• Rは、それまでのプログラムや実行内容を“ワークスーペース”
というファイルに保存します。
• 次回、そのワークスペースでRを起動したり、ワークスペースを読み出したりすると、
前回保存したときまでの環境がそのまま利用できます。
はじめてRをさわる – RSTUDIOを使う
いけてるRの統合環境 「Rstudio」をつかってもOK
https://www.rstudio.com/
はじめてRをさわる - Ⅲデモを使ってみよう
• 市販本だとここで“iris”というデータを触ってみます。
• ですが、Rでどんなことができるのか?ということをみるために、「demo()」という
関数を使ってみましょう。
demo(graphics)
を実行してみよう。
はじめてRをさわる - Ⅲデモを使ってみよう
• Reternキーを押すたびにグラフが表示されます。
この機能を使って
「Rってどんなの?」とか、
「Rって使えるの?」という質問を
上司・友達の
華麗にかわせます。
人間はビジュアルに弱いです。
はじめてRをさわる - Ⅳデータアクセス方法
• 実際にデータを触ってみよう。
• “Iris”というアヤメのがくの長さ、種類などを記録しているデータがあります。
iris
データをすべて表示させます。
行数の多いデータを触る場合は
気をつけて。
head(iris , 10)
最初の10行を表示します。
デフォルトは6行を表示。
tail(iris , 10)
最後の10行を表示します。
デフォルトは6行を表示。
はじめてRをさわる - Ⅳデータアクセス方法
• すべてのデータは必要なくて、特定の項目だけアクセスしたい場合。
• 2つの方法があります。
Iris$Sepal.Length
特定のにアクセス。
ベクトルで結果を返す。
Iris[,1] | iris[1,1]
Iris[行,列]でアクセス。
細かく値を確認するときに重宝。
head(iris[,1] , 10)
2番目を応用して、関数に
入れることができます。
Irisの一列目の10行まで
を指定している。
☝これはよく利用するの
で覚えていて損はありま
せん。
はじめて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)
 各列の四分点
はじめて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)
 各列の四分点
はじめて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)
 各列の四分点
はじめてRをさわる – Ⅴデータ集計方法
• これら以外でも、集計方法はあります。
• ”plyr”や、”dplyr”,SQLを利用できる方は”sqldf”などがあります。
ddply(full_list,
c("Subject","Class"),
function(df)
return(c(AVERAGE=mean(df$RT
))))
■パッケージ:plyr ■パッケージ: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で発表しました
はじめて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])
・
・
・
はじめてRをさわる – Ⅵ 関数
• さらっと、どんな関数があるかを知りたい方は、以下の資料を参考にする
と良いかもしれません。
• http://cran.r-project.org/doc/contrib/Short-refcard.pdf
👉 Math の項目が関数。
👉 Rでどんなことができるのかが一覧になっているので便利。
Cheet Sheet、カンニングペーパーとも言います。
はじめて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以上であれば“+”
それ以外であれば“ー”
を表示しなさい。
“−”が表示
“+”が表示
はじめてRをさわる – Ⅶ 自作関数(FUNCTION)
• 最初に見せたコードをよく見てみると…
• 実はFunction()を使ったコードなのです。
なので、びっくりする必要ありません!
はじめて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
• 使ってみる!
はじめてRをさわる – Ⅷ パッケージ
• Install.packages()を使ってみる。
• ggplot2をインストールしてみましょう。
• install.packages("ggplot2”)と
いうコマンドを入力すると、取得
する場所を選択
• 選択すると、パッケージをダウン
ロード開始。
• Library(ggplot2) で、実際に使
えるようになります。
次のステップ
• これでRの機能をすべて紹介したわけではありません。
• 次のステップでは、以下のようなことをやってみると、よりRを使いこなせるよう
になるかと思います。
•条件分岐・ループ
•グラフ作成
•データベースとの接続
•統計解析
まとめ
• 今日のまとめ
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()
ご静聴ありがとうございました
m(___)m

Tokyo r38