Advertisement
Advertisement

More Related Content

Viewers also liked(20)

Advertisement
Advertisement

Tokyo r30 beginner

  1. はじめての TOKYO.R #30 簑田 高志
  2. 目次 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サービスの企 画・運営、ネット広告のアナリスト 自己紹介
  4. なぜこの話をしようと思ったの か いきなりですが、ちょっと質問です。 • Rを始めて数日〜数週間の方 • プログラムは作ったことがない方
  5. なぜこの話をしようと思ったの か そんな皆様 この後のお話は、こんなプログラムが 結構出てきます。(くるかも) 覚悟はいいですか?
  6. なぜこの話をしようと思ったの か というのは冗談です。 しかし、Rを使う場合は、 尐なからずプログラム的な記述をする 必要があります。 これからの話は、 • 初めての方でも、この後の話でつい ていけるように、 • ごく初歩的なRの使い方の話をしよ うと思います。 (評判が良ければ連載かも…)
  7. なぜこの話をしようと思ったの か • 私は初心者ではないので、そんな話 は聞かなくても大丈夫!という方。 • そういう方は… この本をAmazonで注文し ておいてください。 今日のTokyoRに参加している人が! 持ってくるとサインもらえるかも?!
  8. はじめてRをさわる- Ⅰインストール • Rのインストールは以下のサイトからファイルをダウンロード・展開することによ 利用をすることができます。 http://www.r-project.org/ 利用環境に合わせて ファイルをダウンロー ド・ インストール
  9. はじめてRをさわる - Ⅱ起動と終了 • 無事にインストールが終わると、 👇 のようなアイコンが現れます。これをダブルクリックして起動できます。 ここにRのコマンドを 入れていきます。
  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) で、実際に 使えるようになります。
  27. 次のステップ • これでRの機能をすべて紹介したわけではありません。 • 次のステップでは、以下のようなことをやってみると、よりRを使いこな せるようになるかと思います。 •条件分岐・ループ •グラフ作成 •データベースとの接続 •統計解析
  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()
  29. ご清聴ありがとうございました m(___)m
Advertisement