Tokyo r30 beginner

10,141 views

Published on

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,141
On SlideShare
0
From Embeds
0
Number of Embeds
7,680
Actions
Shares
0
Downloads
40
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Tokyo r30 beginner

  1. 1. はじめてのTOKYO.R #30簑田 高志
  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/• 出身地 :熊本県• 出身学部 :法学部• 仕事 :一般ユーザー向けWebサービスの企画・運営、ネット広告のアナリスト自己紹介
  4. 4. なぜこの話をしようと思ったのかいきなりですが、ちょっと質問です。• Rを始めて数日〜数週間の方• プログラムは作ったことがない方
  5. 5. なぜこの話をしようと思ったのかそんな皆様この後のお話は、こんなプログラムが結構出てきます。(くるかも)覚悟はいいですか?
  6. 6. なぜこの話をしようと思ったのかというのは冗談です。しかし、Rを使う場合は、尐なからずプログラム的な記述をする必要があります。これからの話は、• 初めての方でも、この後の話でついていけるように、• ごく初歩的なRの使い方の話をしようと思います。(評判が良ければ連載かも…)
  7. 7. なぜこの話をしようと思ったのか• 私は初心者ではないので、そんな話は聞かなくても大丈夫!という方。• そういう方は…この本をAmazonで注文しておいてください。今日のTokyoRに参加している人が!持ってくるとサインもらえるかも?!
  8. 8. はじめてRをさわる- Ⅰインストール• Rのインストールは以下のサイトからファイルをダウンロード・展開することによ利用をすることができます。http://www.r-project.org/利用環境に合わせてファイルをダウンロード・インストール
  9. 9. はじめてRをさわる - Ⅱ起動と終了• 無事にインストールが終わると、👇 のようなアイコンが現れます。これをダブルクリックして起動できます。ここにRのコマンドを入れていきます。
  10. 10. はじめてRをさわる - Ⅱ起動と終了• このコマンドライン…実は結構くせ物。改行で実行してしまうので、テキストエディタなどを使ってコピペしながらやってみるのが良いかも。Rのデフォルトエディタも利用可能。ファイル > 新規文書で起動。👇 “command + enteでコンソールで実行します。
  11. 11. はじめてRをさわる - Ⅱ起動と終了終了する際は、quit() コマンド、もしくは、ツールバーのR>Rを終了を選択。• Rは、それまでのプログラムや実行内容を“ワークスーペース”というファイルに保存します。• 次回、そのワークスペースでRを起動したり、ワークスペースを読み出したりする前回保存したときまでの環境がそのまま利用できます。
  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をさわる – Ⅴデータ集計方法• 多くの解析の場合、まず「データを集計してみる」という作業が発生します。• 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. 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. 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. 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/index.html http://plyr.had.co.nz/sqldf(“SELECTSpecies ,COUNT(*) as numFROMirisGROUP BYSpecies”)■参考資料 http://code.google.com/p/sqldf/ http://www.slideshare.net/aad34210/toko-r-sqldf 過去にTokyoRで発表しました
  21. 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. 22. はじめてRをさわる – Ⅵ 関数• さらっと、どんな関数があるかを知りたい方は、以下の資料を参考にすると良いかもしれません。• http://cran.r-project.org/doc/contrib/Short-refcard.pdf👇 Math の項目が関数。👇 Rでどんなことができるのかが一覧になっているので便利。Cheet Sheet、カンニングペーパーとも言います。
  23. 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. 24. はじめてRをさわる – Ⅶ 自作関数(FUNCTION)• 最初に見せたコードをよく見てみると…• 実はFunction()を使ったコードなのです。なので、びっくりする必要ありませ
  25. 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/packages/zoo/index.html• 使ってみる!
  26. 26. はじめてRをさわる – Ⅷ パッケージ• Install.packages()を使ってみる。• ggplot2をインストールしてみましょう。• install.packages("ggplot2”)というコマンドを入力すると、取得する場所を選択• 選択すると、パッケージをダウンロード開始。• Library(ggplot2) で、実際に使えるようになります。
  27. 27. 次のステップ• これでRの機能をすべて紹介したわけではありません。• 次のステップでは、以下のようなことをやってみると、よりRを使いこなせるようになるかと思います。•条件分岐・ループ•グラフ作成•データベースとの接続•統計解析
  28. 28. まとめ• 今日のまとめ1. インストール :CRANからRの実行ファイルをDL&インストール2. デモ :demo() を使って華麗に対応3. データアクセス :iris , iris$Sepal.length , iris[1,1] , head(iris , 10)4. データ集計 :apply系 , aggregate , plyr , sqldf5. 関数 :sum() , mean() , sd() …6. 自作関数 :function()7. パッケージ :install.packages()
  29. 29. ご清聴ありがとうございましたm(___)m

×