Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Tokyo r38

5,277 views

Published on

初心者のためのRの使い方

Published in: Internet

Tokyo r38

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

×