10分で分かるR言語入門



           大城信晃
アジェンダ

●
    自己紹介
●   Rとは
●   Rの導入
●   Rの基本操作
●   Rの情報源
●
    まとめ
アジェンダ

●
    自己紹介
●   Rとは
●   Rの導入
●   Rの基本操作
●   Rの情報源
●
    まとめ
自己紹介

●
    名前:大城信晃
●   Twitter:doradora09
●   職業:Webエンジニア
●   R:たまに触る程度
    –   最近Rを使ったのは120万行の
        データをuniqにしてsort
    –   デスクトップ上のデータに対し
        て作業するのには便利かも
●
    趣味:
    –   カクテル作り再開しました
カクテル

       max18本まで収納できることが判明
       何本か持ってきたので懇親会でどうぞ
アジェンダ

●
    自己紹介
●   Rとは
●   Rの導入
●   Rの基本操作
●   Rの情報源
●
    まとめ
Rとは

      統計用の言語(関数型言語)
          無料で使える
Rと他言語比較

 統計のパッケージが豊富(自作して公開も可能)
            プロトタイピング向き

                                   大規模
          統計パッケージ   速度   ソフト費用    データ処理

                                     △
   R        ◎       △     無料     (メモリに乗る
                                    範囲)

  エクセル      △       △    1万位        ×


  SPSS      ○       ○    10万位       ○

                                     ○
   C++       ×      ◎     無料     (書き方による)
研究分野以外での実績は?

      金融、マーケティング、ソーシャルゲーム
       Googleやfacebookでも使われてます

GoogleとFacebookではRをどうやって使っているのか?
http://pracmper.blogspot.jp/2010/01/googlefacebookr.html

・Googleではデータ探索やモデルのプロトタイピングを行っていま
す。一般的にプロダクション(公開している製品の意味?)には使っ
ていません。デスクトップの環境だけです。
・(Googleでの)一般的な使い方は、1.他のツールでデータを抽
出 2.Rへインポート 3.Rで解析とモデリングを作成 
4.PythonやC++ でモデリング結果をプロダクションへ実装
Rで利用できる解析手法紹介

     2000程度のパッケージがあるので大抵の分析はできる
      日本語の情報(wiki, 書籍, コミュニティ)も増えてきた


 ●   主成分分析/因子分析/対応分析
 ●   多次元尺度法/クラスター分析
 ●   自己組織化マップ/線形回帰分析
 ●   非線形回帰分析/線形判別分析
 ●   非線形判別分析 /生存分析/時系列
 ●   樹木モデル/ニューラルネットワーク
 ●
     カーネル法とサポートベクターマシン
 ●   集団学習/アソシエーション分析
     など
アジェンダ

●
    自己紹介
●   Rとは
●   Rの導入
●   Rの基本操作
●   Rの情報源
●
    まとめ
Rの導入

           Windows, Mac, Linux版がある
       困ったらrjpwikiでググっても出てくる



          OS                     URL

                    http://cran.md.tsukuba.ac.jp/bin/wind
       Windows
                                  ows/base/

       Mac, Linux       http://cran.md.tsukuba.ac.jp/
Rの導入:連打

    インストーラーを起動して連打
  完了後Rアイコンをダブルクリックで起動

               Rコンソール
Rの導入:Rコンソール

     Rコンソール上で処理内容を記述していきます
   エクセル等と比較するとプログラム言語色が強いです




               ココに入力して
               エンターで実行
アジェンダ

●
    自己紹介
●   Rとは
●   Rの導入
●   Rの基本操作
●   Rの情報源
●
    まとめ
Rの基本操作


●
    四則演算
●
    関数の利用
●
    作図
●
    変数
●
    行列
●
    行列の要素へのアクセス
●
    関数の自作
●
    パッケージ
●
    ヘルプ
Rの基本操作:四則演算

 基本的な演算
     > 3+5     #足し算
     [1] 8
     >     10-3 #引き算
     [1] 7
     >     2*3   #掛け算
     [1] 6
     >     20/4 #割り算
     [1] 5
     >
     > 5^2      #5の2乗
     [1] 25
     > 13 %% 5 #13を5で割った余り(剰余)
     [1] 3
Rの基本操作:関数の利用

 様々な関数が利用可能
     > sum(10,20,30) #引数をすべて合計する
     [1] 60
     > sqrt(16) #16の平方根を求める
     [1] 4
     > date() #日付を表示
     [1] "Fri May 25 09:48:09 2012"
Rの基本操作:作図

 plotで作図
     > plot(c(10,20,30))
Rの基本操作:変数

 変数は値を格納する箱のようなもの
 値の代入には <- (左向きの矢印の意味)を使う


     > values <- c(10, 20, 30) #変数valuesに
     値をセット
     > values #変数名を書くと中身が見れる
     [1] 10 20 30
     > sum(values) #sum関数に変数を渡す
     [1] 60
Rの基本操作:行列

 行列型の変数も利用可能

   > hawks <- matrix(c(173, 178, 189, 183, 182,
   +    17000, 14000, 9000, 50000, 30000), 5, 2)

   > hawks #変数の中身確認(行列)
       [,1] [,2]
   [1,] 173 17000
   [2,] 178 14000
   [3,] 189 9000
   [4,] 183 50000
   [5,] 182 30000
Rの基本操作:行列の要素へアクセス

 行列から指定した位置の値を取り出す

   > hawks #行列全体を表示
       [,1] [,2]
   [1,] 173 17000
   [2,] 178 14000
   [3,] 189 9000
   [4,] 183 50000
   [5,] 182 30000

   > hawks[1,] #1行目のデータにアクセス
   [1] 173 17000
   > hawks[,1] #1列目のデータにアクセス
   [1] 173 178 189 183 182
   > hawks[3,2] #3行2列目のデータにアクセス
   [1] 9000
Rの基本操作:行列の要素へアクセス

 行列から指定した位置の値を取り出す

   > hawks #行列全体を表示
       [,1] [,2]
   [1,] 173 17000
   [2,] 178 14000
   [3,] 189 9000
   [4,] 183 50000
   [5,] 182 30000

   > hawks[1,] #1行目のデータにアクセス
   [1] 173 17000
   > hawks[,1] #1列目のデータにアクセス
   [1] 173 178 189 183 182
   > hawks[3,2] #3行2列目のデータにアクセス
   [1] 9000
Rの基本操作:行列の要素へアクセス

 行列から指定した位置の値を取り出す

   > hawks #行列全体を表示
       [,1] [,2]
   [1,] 173 17000
   [2,] 178 14000
   [3,] 189 9000
   [4,] 183 50000
   [5,] 182 30000

   > hawks[1,] #1行目のデータにアクセス
   [1] 173 17000
   > hawks[,1] #1列目のデータにアクセス
   [1] 173 178 189 183 182
   > hawks[3,2] #3行2列目のデータにアクセス
   [1] 9000
Rの基本操作:外部ファイル読み込み

    CSVファイルを読み込んで変数に格納可能
        大量のデータを処理する際に便利
   > hawks2 <- read.csv("hawks.csv") #csvファイル
   の読み込み

   > hawks2 #変数の中身確認
    height salary
   1 173 17000
   2 178 14000
   3 180 9000
   4 183 50000
   5 182 30000
Rの基本操作:関数の自作

 関数の定義にはfunction()を使う

   > varp <- function(x) { #自作関数
   +    result <- var(x) * (length(x) - 1) / length(x)
   +    result
   + }
   >

   > hawks2[,1] #ホークスのデータを入れてみる
   [1] 173 178 180 183 182

   > varp(hawks2[,1]) #標本分散
   [1] 12.56
Rの基本操作:パッケージ

CRAN(パッケージ管理サーバ)から
パッケージをダウンロードして使える
   > install.packages(“ggplot2”)
     #パッケージのインストール
   > library("ggplot2") #パッケージをロード
Rの基本操作:パッケージ

プロットパッケージggplot2のqplot利用例
   > qplot(salary, height, data = hawks2, colour =
   I("blue"))
Rの基本操作:ヘルプ

??パッケージ名, ?関数名, help(関数名)
普通はヘルプ後半には実行例のソースコードも載ってます

    > ?qplot
アジェンダ

●
    自己紹介
●   Rとは
●   Rの導入
●   Rの基本操作
●   Rの情報源
●
    まとめ
参考資料:seekR

 http://d.hatena.ne.jp/a_bicky/20110529/1306667230
 R言語用の検索サイト。
 –   普通の検索エンジンでRを探すと別のものがヒットしまくるので便利
参考資料:rjpwiki

 http://www.okada.jp.org/RWiki/
 R言語wiki。初級者のQ&Aもある。日本語サイト
参考資料:各Rコミュニティの過去発表資料

http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage
「勉強会発表内容一覧」のリンクから。Tokyo.Rの過去資料も載ってます。
参考資料:あらびき日記 RとSQLを対応付けてみた

 http://d.hatena.ne.jp/a_bicky/20110529/1306667230
 a_bickyさんのエントリ。DB使いにはうれしい
参考資料:R-Chart

 http://www.r-chart.com/
 Rでの作図のサンプルが多数ある。英語サイト
アジェンダ

●
    自己紹介
●   Rとは
●   Rの導入
●   Rの基本操作
●   Rの情報源
●
    まとめ
まとめ

●   Rは無料で使える統計解析用の言語
●   Windows, Mac, Linux版がある
●
    基本的な演算や変数、関数が使える
    –   プログラミング言語色が強い
●   plotによる作図
●   CSVファイル連携
●
    その他各種パッケージの利用が可能
●   検索するときはSeekRが便利
ご清聴ありがとうございました
質疑応答

10min r study_tokyor25