29
ははははは TOKYO.R #30 はは はは

Tokyo r30 beginner

Embed Size (px)

Citation preview

Page 1: Tokyo r30 beginner

 はじめての

TOKYO.R #30

簑田 高志

Page 2: Tokyo r30 beginner

目次

1.自己紹介2.なぜこの話をしようと思ったのか3.はじめて Rをさわる

i. インストールii. 起動と終了iii. デモ( demo()) を使ってみようiv. データへのアクセス方法v. データ集計方法vi. 関数vii.自作関数( fucntion)viii.パッケージ

4. 次のステップ5. まとめ

※ スクリーンショットや機能等は Mac 版となります。  基本的には Windows も同じものがあるはずです。

Page 3: Tokyo r30 beginner

• 名前 : 簑田 高志• Twitter :aad34210• ブログ :http://

pracmper.blogspot.com/• 出身地 : 熊本県• 出身学部 : 法学部• 仕事 : 一般ユーザー向け Web サービス

の企 画・運営、ネット広告のアナリスト

自己紹介

Page 4: Tokyo r30 beginner

なぜこの話をしようと思ったのか

いきなりですが、ちょっと質問です。

• R を始めて数日〜数週間の方

• プログラムは作ったことがない方

Page 5: Tokyo r30 beginner

なぜこの話をしようと思ったのか

そんな皆様この後のお話は、こんなプログラムが結構出てきます。(くるかも)

覚悟はいいですか?

Page 6: Tokyo r30 beginner

なぜこの話をしようと思ったのか

というのは冗談です。しかし、 R を使う場合は、少なからずプログラム的な記述をする必要があります。

これからの話は、• 初めての方でも、この後の話でつい

ていけるように、• ごく初歩的な R の使い方の話をしよ

うと思います。(評判が良ければ連載かも…)

Page 7: Tokyo r30 beginner

なぜこの話をしようと思ったのか

• 私は初心者ではないので、そんな話は聞かなくても大丈夫!という方。

• そういう方は…

この本を Amazon で注文しておいてください。(¥3,990)

今日の TokyoR に参加している人が!持ってくるとサインもらえるかも?!

Page 8: Tokyo r30 beginner

はじめて R をさわる - Ⅰ インストール• R のインストールは以下のサイトからファイルをダウンロード・展開することによって利用をすることができます。

http://www.r-project.org/

利用環境に合わせてファイルをダウンロー

ド・インストール

Page 9: Tokyo r30 beginner

はじめて R をさわる - Ⅱ 起動と終了• 無事にインストールが終わると、  のようなアイコンが現れます。これをダブルクリックして起動できます。👇

ここに R のコマンドを入れていきます。

Page 10: Tokyo r30 beginner

はじめて R をさわる - Ⅱ 起動と終了• このコマンドライン…実は結構くせ物。改行で実行してしまうので、テキストエディタなどを使ってコピペしながらやってみるのが良いかも。

R のデフォルトエディタも利用可能。ファイル > 新規文書で起動。

コマンドを選択 “👉 command + enter”でコンソールで実行します。

Page 11: Tokyo r30 beginner

はじめて R をさわる - Ⅱ 起動と終了終了する際は、 quit() コマンド、もしくは、ツールバーの R > R を終了を選択。

• R は、それまでのプログラムや実行内容を“ワークスーペース”  というファイルに保存します。• 次回、そのワークスペースで R を起動したり、ワークスペースを読み出したりすると、  前回保存したときまでの環境がそのまま利用できます。

Page 12: Tokyo r30 beginner

はじめて R をさわる - Ⅲ デモを使ってみよう• 市販本だとここで“ iris” というデータを触ってみます。• ですが、 R でどんなことができるのか?ということをみるために、

「 demo() 」という  関数を使ってみましょう。

demo(graphics)を実行してみよう。

Page 13: Tokyo r30 beginner

はじめて R をさわる - Ⅲ デモを使ってみよう• Retern キーを押すたびにグラフが表示されます。

この機能を使って

「 R ってどんなの?」とか、「 R って使えるの?」という質問を

上司・友達の

華麗にかわせます。

人間はビジュアルに弱いです。

Page 14: Tokyo r30 beginner

はじめて R をさわる - Ⅳ データアクセス方法• 実際にデータを触ってみよう。• “Iris” というアヤメのがくの長さ、種類などを記録しているデータがあります。

iris

データをすべて表示させます。行数の多いデータを触る場合は気をつけて。

head(iris , 10)

最初の10行を表示します。デフォルトは6行を表示。

tail(iris , 10)

最後の10行を表示します。デフォルトは6行を表示。

Page 15: Tokyo r30 beginner

はじめて R をさわる - Ⅳ データアクセス方法• すべてのデータは必要なくて、特定の項目だけアクセスしたい場合。• 2つの方法があります。

Iris$Sepal.Length

特定のにアクセス。ベクトルで結果を返す。

Iris[,1] | iris[1,1]

Iris[ 行 , 列 ] でアクセス。細かく値を確認するときに重宝。

head(iris[,1] , 10)

2番目を応用して、関数に入れることができます。Iris の一列目の10行までを指定している。☝ これはよく利用するので覚えていて損はありません。

Page 16: Tokyo r30 beginner

はじめて 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) 各列の四分点

Page 17: Tokyo r30 beginner

はじめて 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) 各列の四分点

Page 18: Tokyo r30 beginner

はじめて 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) 各列の四分点

Page 19: Tokyo r30 beginner

はじめて 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) 各列の四分点

Page 20: Tokyo r30 beginner

はじめて 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/index.html

http://plyr.had.co.nz/

sqldf(“ SELECT

Species ,

COUNT(*) as numFROM

irisGROUP BY

Species”)■ 参考資料 http://code.google.com/p/sqldf/ http://www.slideshare.net/aad34210/toky

o-r-sqldf 過去に TokyoR で発表しました

Page 21: Tokyo r30 beginner

はじめて 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])

・・・

Page 22: Tokyo r30 beginner

はじめて R をさわる – Ⅵ 関数• さらっと、どんな関数があるかを知りたい方は、以下の資料を参考

にすると良いかもしれません。• http://cran.r-project.org/doc/contrib/Short-refcard.pdf

👉 Math の項目が関数。   👉 R でどんなことができるのかが一覧になっているので便利。

Cheet Sheet 、カンニングペーパーとも言います。

Page 23: Tokyo r30 beginner

はじめて 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 以上であれば“+”それ以外であれば“ー”を表示しなさい。

“−” が表示

“+” が表示

Page 24: Tokyo r30 beginner

はじめて R をさわる – Ⅶ 自作関数( FUNCTION)• 最初に見せたコードをよく見てみると…• 実は Function() を使ったコードなのです。

なので、びっくりする必要ありません!

Page 25: Tokyo r30 beginner

はじめて 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/packages/zoo/index.html

• 使ってみる!

Page 26: Tokyo r30 beginner

はじめて R をさわる – Ⅷ パッケージ• Install.packages() を使ってみる。• ggplot2 をインストールしてみましょう。

• install.packages("ggplot2”)というコマンドを入力すると、取得する場所を選択

• 選択すると、パッケージをダウンロード開始。

• Library(ggplot2) で、実際に使えるようになります。

Page 27: Tokyo r30 beginner

次のステップ• これで R の機能をすべて紹介したわけではありません。• 次のステップでは、以下のようなことをやってみると、より R を使いこ

なせるようになるかと思います。

•条件分岐・ループ•グラフ作成•データベースとの接続•統計解析

Page 28: Tokyo r30 beginner

まとめ• 今日のまとめ

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()

Page 29: Tokyo r30 beginner

ご清聴ありがとうございましたm(___)m