SlideShare una empresa de Scribd logo
1 de 85
Descargar para leer sin conexión
10分で分かる
             R言語入門 ver2


                    大城信晃

12年9月8日土曜日
セキココ

             http://sekico.co/
                 zaseki/55


12年9月8日土曜日
アジェンダ

             • 自己紹介
             • Rって何
             • Rの使い方
             • Rの資料

12年9月8日土曜日
アジェンダ

             • 自己紹介
             • Rって何
             • Rの使い方
             • Rの資料

12年9月8日土曜日
自己紹介
     • 名前:大城信晃
     • Twitter:doradora09
     • 職業:Webエンジニア
     • R:勉強中
     • マイブーム:
      • 15分間集中法
      • 出張用カクテル集め
12年9月8日土曜日
出張用カクテル
        • 小型化により20本突破!
        • 懇親会でどうぞ




12年9月8日土曜日
写真変えました!
             Before   After




12年9月8日土曜日
写真変えました!
             Before   After




12年9月8日土曜日
撮影者 ボブさん
                twitter
                @bob3bob3




    ありがとうございます!
12年9月8日土曜日
ちなみに主催者の場合
             Before   After




12年9月8日土曜日
こうなる
             Before      After




             さすがボブさん!
12年9月8日土曜日
では本題に

             • 自己紹介
             • Rって何
             • Rの使い方
             • Rの資料

12年9月8日土曜日
R言語(アールげんご)は、オープンソ
             ースでフリーソフトウェアの統計解
             析向けプログラミング言語、及びそ
             の開発実行環境である。
                      Wikipediaより引用


12年9月8日土曜日
オープンソース    個人が開発に参加できる
             フリーソフトウェア     タダで使える
              統計解析向け     関連パッケージが豊富
             プログラミング言語    ロジックが記述可能
              開発実行環境       Rコンソール


12年9月8日土曜日
用途で分類
                 プログラミング言語寄り
                  (カスタマイズ可能)




    実務利用                         プロトタイピング

              業務専用
             パッケージ

                 直感的な操作(用途は限定)
12年9月8日土曜日
他言語との比較
                 特徴     大規模デー      価格     速度
               パッケージ      タ
                          △
                                   無料     △
                が豊富     (メモリ依存)


      エクセル      直感的                1万∼
                        (約100万行)

                大規模
         SAS              ○        60万∼   ○
               データ処理
                 高速                無料∼
         C++             実装次第             ◎
               開発コスト高               数万

12年9月8日土曜日
での使われ方

             • プロトタイプをRで作って検証
             • PythonやC++で実装


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



12年9月8日土曜日
こんな方におすすめ

             • エクセルでは物足りない方
             • いろいろな統計手法を試してみたい方
             • プログラムも学びたい方


12年9月8日土曜日
アジェンダ

             • 自己紹介
             • Rって何
             • Rの使い方
             • Rの資料

12年9月8日土曜日
インストール
                       http://cran.md.tsukuba.ac.jp/
             Windows
                            bin/windows/base/

              Mac      http://cran.md.tsukuba.ac.jp/


              Linux    http://cran.md.tsukuba.ac.jp/




12年9月8日土曜日
Rコンソール起動




12年9月8日土曜日
Rコンソール起動



                 ココに処理を
                 記述していく



12年9月8日土曜日
例:足し算引き算



              3+5 = 8
              10-7 = 3



12年9月8日土曜日
解析の流れ
             データ

              処理

             レポート
12年9月8日土曜日
解析の流れ
             変数
                  データ
             配列
             行列
                   処理

                  レポート
12年9月8日土曜日
変数      値を入れる箱
             > hako <- 10

             > hako

             [1] 10




12年9月8日土曜日
変数      値を入れる箱
             > hako <- 10
                            変数に値を入れる
             > hako
                            左矢印のイメージ
             [1] 10




12年9月8日土曜日
変数      値を入れる箱
             > hako <- 10
                            変数名を打つと
             > hako
                             中の値が出る
             [1] 10




12年9月8日土曜日
変数      値を入れる箱
             > hako <- 10

             > hako

             [1] 10

             > hako * 2     変数に対して
             [1] 20         処理(かけ算)


12年9月8日土曜日
配列 複数の値をまとめる

             > array <- c(10,20,30)

             > array

             [1] 10 20 30

             > array * 2

             [1] 20 40 60


12年9月8日土曜日
配列 複数の値をまとめる

             > array <- c(10,20,30)

             > array
                                      3つの値を
             [1] 10 20 30             配列に格納
             > array * 2

             [1] 20 40 60


12年9月8日土曜日
配列 複数の値をまとめる

             > array <- c(10,20,30)

             > array
                                      値の確認
             [1] 10 20 30

             > array * 2

             [1] 20 40 60


12年9月8日土曜日
配列 複数の値をまとめる

             > array <- c(10,20,30)

             > array

             [1] 10 20 30
                                    処理は
             > array * 2
                                  すべての値に
             [1] 20 40 60          適用される


12年9月8日土曜日
配列 複数の値をまとめる

             > array[1]    配列[番号]
                          で1個ずつ値を
             [1] 10
                           取り出せる
             > array[2]

             [1] 20

             > array[3]

             [1] 30
12年9月8日土曜日
配列 複数の値をまとめる

             > array[1]

             [1] 10

             > array[2]
                          2個目
             [1] 20

             > array[3]

             [1] 30
12年9月8日土曜日
配列 複数の値をまとめる

             > array[1]

             [1] 10

             > array[2]

             [1] 20

             > array[3]
                          3個目
             [1] 30
12年9月8日土曜日
行列        2次元の配列
         > array2 <- matrix(c(10,20,30,  

                              40,50,60), 2, 3)

         > array2

             [,1] [,2] [,3]

         [1,] 10 30 50

         [2,] 20 40 60

12年9月8日土曜日
行列        2次元の配列
         > array2 <- matrix(c(10,20,30,  

                              40,50,60), 2, 3)

         > array2             matrixという
             [,1] [,2] [,3]   関数を利用して
                                 作る
         [1,] 10 30 50

         [2,] 20 40 60
12年9月8日土曜日
行列        2次元の配列
         > array2 <- matrix(c(10,20,30,  

                              40,50,60), 2, 3)

         > array2
                                 2行3列の
             [,1] [,2] [,3]       行列
         [1,] 10 30 50

         [2,] 20 40 60

12年9月8日土曜日
行列      各要素の指定
         > array2[1,1]
                         1行1列を
         [1] 10           指定
         > array2[1,]

         [1] 10 30 50

         > array2[,1]

         [1] 10 20

12年9月8日土曜日
行列      各要素の指定
         > array2[1,1]

         [1] 10

         > array2[1,]    1行目全体
                          を指定
         [1] 10 30 50

         > array2[,1]

         [1] 10 20

12年9月8日土曜日
行列      各要素の指定
         > array2[1,1]

         [1] 10

         > array2[1,]

         [1] 10 30 50

         > array2[,1]    1列目全体
         [1] 10 20        を指定

12年9月8日土曜日
解析の流れ
             変数
                   データ
             配列
                          関数     行
             行列
                    処理    自作関数
             CSV

                   レポート
12年9月8日土曜日
関数   処理の呼び出し


         • 関数は複数の処理をまとめたもの
         • 関数名(引数) という書き方で呼び出す


12年9月8日土曜日
関数     処理の呼び出し
              目的      関数名と書式           使い方
             データの結合    C(データ)       C( C , B , B )
              合計      sum(データ)      sum(10,20,30)
             個数を求める   length(データ)   length(array)
              平均      mean(データ)      mean(array)
              標準偏差     sd(データ)        sd(array)
              ・・・        ・・・           ・・・


12年9月8日土曜日
関数    合計を求める
         > array

         [1] 10 20 30

         > sum(array)

         [1] 60



12年9月8日土曜日
関数    合計を求める
         > array         先ほどの
         [1] 10 20 30   配列array

         > sum(array)

         [1] 60



12年9月8日土曜日
関数    合計を求める
         > array

         [1] 10 20 30
                         関数名(引数)
         > sum(array)
                        で処理呼び出し
         [1] 60



12年9月8日土曜日
関数    合計を求める
         > array

         [1] 10 20 30

         > sum(array)
                        処理結果が
         [1] 60         出力される



12年9月8日土曜日
関数        合計を求める
         > array2

             [,1] [,2] [,3]

         [1,] 10 30 50        先ほどの行列を
                               渡した場合
         [2,] 20 40 60



         > sum(array2)

         [1] 210
12年9月8日土曜日
関数        合計を求める
         > array2

             [,1] [,2] [,3]

         [1,] 10 30 50

         [2,] 20 40 60



         > sum(array2)         合計値が
                              表示される
         [1] 210
12年9月8日土曜日
変数 関数              結果を格納


         > ret <- sum(array2)

         > ret
                         処理結果を
         [1] 210         変数に格納



12年9月8日土曜日
変数 関数              結果を格納


         > ret <- sum(array2)

         > ret            合計値の
         [1] 210           確認




12年9月8日土曜日
解析の流れ
             変数
                   データ
             配列
                          関数     行
             行列
                    処理    自作関数
             CSV

                   レポート
12年9月8日土曜日
CSV 関数 CSV読み込み


         • 変数に毎回データを手入力するのは面倒
         • CSVファイルを読み込む関数がある
         • エクセル等の外部データ連携に利用


12年9月8日土曜日
CSV 関数 CSV読み込み
         > hawks <- read.csv("hawks.csv")



         > hawks

             height salary

         1     173 17000

         2     178 14000

         3     180 9000
12年9月8日土曜日
CSV 関数 CSV読み込み
         > hawks <- read.csv("hawks.csv")



         > hawks
                             read.csv関数に
             height salary   CSVファイルを
         1     173 17000          渡す

         2     178 14000

         3     180 9000
12年9月8日土曜日
CSV 関数 CSV読み込み
         > hawks <- read.csv("hawks.csv")



         > hawks

             height salary

         1     173 17000        CSVファイルの
                                 取り込みが
         2     178 14000
                                 確認できる
         3     180 9000
12年9月8日土曜日
解析の流れ
             変数
                   データ
             配列
                          関数     行
             行列
                    処理    自作関数
             CSV

                   レポート
12年9月8日土曜日
自作関数          自分で関数を作る


             • 関数は自分で定義することも可能
             • 繰り返し使う処理は自作関数にする


12年9月8日土曜日
自作関数             自分で関数を作る
    > varp <- function(x) {

             retsult <- var(x) * (length(x) - 1) / length(x)

             retsult

       }

    > varp(array)

    [1] 66.66667

12年9月8日土曜日
自作関数             自分で関数を作る
    > varp <- function(x) {               関数の定義
             retsult <- var(x) * (length(x) - 1) / length(x)

             retsult
                          関数名 <- function (引数) {
       }
                                   処理
    > varp(array)         }
    [1] 66.66667

12年9月8日土曜日
自作関数             自分で関数を作る
    > varp <- function(x) {

             retsult <- var(x) * (length(x) - 1) / length(x)

             retsult

       }

    > varp(array)                 定義された処理
                                  が実行される
    [1] 66.66667
                                 (不偏分散の算出)
12年9月8日土曜日
解析の流れ
             変数
                   データ
             配列
                          関数      行
             行列
                    処理    自作関数
             CSV          パッケージ

                   レポート   作図
12年9月8日土曜日
パッケージ
                関数をまとめたもの

             • 複数の関数をまとめられる
             • 自作のパッケージも公開できる
             • 外部のパッケージも利用可能


12年9月8日土曜日
パッケージ
                外部パッケージ


             • 外部パッケージはCRANに集約
             • すべて無料でダウンロードできる


12年9月8日土曜日
パッケージ
                 外部パッケージ
  作図


    > install.packages( ggplot2 )

    > library("ggplot2")              CRANから
                                     パッケージ
                                    ダウンロード&
                                     インストール

12年9月8日土曜日
パッケージ
                 外部パッケージ
  作図


    > install.packages( ggplot2 )
                                パッケージを
    > library("ggplot2")
                                  ロード




12年9月8日土曜日
パッケージ
                    外部パッケージ
  作図



       a <- 1:10

       b <- a^2         新たに
       qplot(a,b)     qplot関数が
                        使える

12年9月8日土曜日
パッケージ
                    qplot実行結果
  作図



       a <- 1:10

       b <- a^2

       qplot(a,b)




12年9月8日土曜日
パッケージ
                   その他作図関数
  作図

         • 標準の関数でも作図可能
              目的      関数名と書式         使い方
             ヒストグラム   hist(データ)     hist(array)
              散布図      plot(x, y)    plot(a,b)
              ・・・       ・・・           ・・・


12年9月8日土曜日
一連の作業がすべて可能
             データ

             処理

             レポート
12年9月8日土曜日
アジェンダ

             • 自己紹介
             • Rって何
             • Rの使い方
             • Rの資料

12年9月8日土曜日
CRAN Task Viws
             • Rには2000以上パッケージがある
             • 用途別におすすめパッケージを紹介
             http://cran.r-project.org/web/views/




12年9月8日土曜日
seekR
             • R言語用検索エンジン
              http://seekr.jp/




12年9月8日土曜日
RjpWiki
             • R言語のWiki
              http://www.okada.jp.org/RWiki/




12年9月8日土曜日
Rコミュニティ発表資料
             • Tokyo.R, Nagoya.R, Tukuba.Rのアーカイブ
       http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage
       「勉強会発表内容一覧」のリンクから




12年9月8日土曜日
RとSQLの対応付け
             • SQLが分かる人は一読の価値有り
             http://d.hatena.ne.jp/a_bicky/20110529/1306667230




12年9月8日土曜日
R-Chart
             • Rでの作図のサンプルが多数ある
              http://www.r-chart.com/




12年9月8日土曜日
まとめ

             • Rは無料の統計解析ソフト
             • パッケージが豊富
             • データ解析からレポートまで利用可能


12年9月8日土曜日
ご清聴ありがとうございました




12年9月8日土曜日
質疑応答



12年9月8日土曜日
予備資料



12年9月8日土曜日
連携も可能
                 プログラミング言語寄り
                  (カスタマイズ可能)
                     .C()関数




    実務利用                         RExcel
                                 プロトタイピング

              業務専用
             パッケージ

                 直感的な操作(用途は限定)
12年9月8日土曜日
イケメンツールRStudio




12年9月8日土曜日

Más contenido relacionado

La actualidad más candente

10分で分かるr言語入門ver2.8 14 0712
10分で分かるr言語入門ver2.8 14 0712 10分で分かるr言語入門ver2.8 14 0712
10分で分かるr言語入門ver2.8 14 0712 Nobuaki Oshiro
 
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 110110分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101Nobuaki Oshiro
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーるSachiko Hirata
 
rstanで個人のパラメーターを推定した話
rstanで個人のパラメーターを推定した話rstanで個人のパラメーターを推定した話
rstanで個人のパラメーターを推定した話Yuya Matsumura
 
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920 10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920 Nobuaki Oshiro
 
Yamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッションYamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッション考司 小杉
 
IdrisでWebアプリを書く
IdrisでWebアプリを書くIdrisでWebアプリを書く
IdrisでWebアプリを書くHideyuki Tanaka
 
データ解析技術入門(R編)
データ解析技術入門(R編)データ解析技術入門(R編)
データ解析技術入門(R編)Takumi Asai
 
普通のプログラミング言語R
普通のプログラミング言語R普通のプログラミング言語R
普通のプログラミング言語RShuyo Nakatani
 

La actualidad más candente (19)

10分で分かるr言語入門ver2.8 14 0712
10分で分かるr言語入門ver2.8 14 0712 10分で分かるr言語入門ver2.8 14 0712
10分で分かるr言語入門ver2.8 14 0712
 
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 110110分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーる
 
rstanで個人のパラメーターを推定した話
rstanで個人のパラメーターを推定した話rstanで個人のパラメーターを推定した話
rstanで個人のパラメーターを推定した話
 
Tokyo r50 beginner_2
Tokyo r50 beginner_2Tokyo r50 beginner_2
Tokyo r50 beginner_2
 
Tokyo r47 beginner_2
Tokyo r47 beginner_2Tokyo r47 beginner_2
Tokyo r47 beginner_2
 
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920 10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920
 
Yamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッションYamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッション
 
Gensim
GensimGensim
Gensim
 
HiroshimaR4_LT_sakaue
HiroshimaR4_LT_sakaueHiroshimaR4_LT_sakaue
HiroshimaR4_LT_sakaue
 
はじめての「R」
はじめての「R」はじめての「R」
はじめての「R」
 
Tokyo r33 beginner
Tokyo r33 beginnerTokyo r33 beginner
Tokyo r33 beginner
 
Tokyo r30 beginner
Tokyo r30 beginnerTokyo r30 beginner
Tokyo r30 beginner
 
IdrisでWebアプリを書く
IdrisでWebアプリを書くIdrisでWebアプリを書く
IdrisでWebアプリを書く
 
Hiroshimar4_Rintro
Hiroshimar4_RintroHiroshimar4_Rintro
Hiroshimar4_Rintro
 
データ解析技術入門(R編)
データ解析技術入門(R編)データ解析技術入門(R編)
データ解析技術入門(R編)
 
普通のプログラミング言語R
普通のプログラミング言語R普通のプログラミング言語R
普通のプログラミング言語R
 
Tokyo r38
Tokyo r38Tokyo r38
Tokyo r38
 
Rstudio事始め
Rstudio事始めRstudio事始め
Rstudio事始め
 

Similar a 10分で分かるR言語入門ver2_0906

10分で分かるR言語入門ver2.1
10分で分かるR言語入門ver2.110分で分かるR言語入門ver2.1
10分で分かるR言語入門ver2.1Nobuaki Oshiro
 
10分で分かるr言語入門ver2.2 13 0223
10分で分かるr言語入門ver2.2 13 022310分で分かるr言語入門ver2.2 13 0223
10分で分かるr言語入門ver2.2 13 0223Nobuaki Oshiro
 
10分で分かるr言語入門ver2.3
10分で分かるr言語入門ver2.310分で分かるr言語入門ver2.3
10分で分かるr言語入門ver2.3Nobuaki Oshiro
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶHiroshi Oyamada
 
R's anti sparseness
R's anti sparsenessR's anti sparseness
R's anti sparsenessybenjo
 
社会ネットワーク分析第7回
社会ネットワーク分析第7回社会ネットワーク分析第7回
社会ネットワーク分析第7回Satoru Mikami
 
最近のC++ @ Sapporo.cpp #5
最近のC++ @ Sapporo.cpp #5最近のC++ @ Sapporo.cpp #5
最近のC++ @ Sapporo.cpp #5Kohsuke Yuasa
 

Similar a 10分で分かるR言語入門ver2_0906 (9)

10分で分かるR言語入門ver2.1
10分で分かるR言語入門ver2.110分で分かるR言語入門ver2.1
10分で分かるR言語入門ver2.1
 
10分で分かるr言語入門ver2.2 13 0223
10分で分かるr言語入門ver2.2 13 022310分で分かるr言語入門ver2.2 13 0223
10分で分かるr言語入門ver2.2 13 0223
 
R新機能抄出
R新機能抄出R新機能抄出
R新機能抄出
 
10分で分かるr言語入門ver2.3
10分で分かるr言語入門ver2.310分で分かるr言語入門ver2.3
10分で分かるr言語入門ver2.3
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
 
R's anti sparseness
R's anti sparsenessR's anti sparseness
R's anti sparseness
 
社会ネットワーク分析第7回
社会ネットワーク分析第7回社会ネットワーク分析第7回
社会ネットワーク分析第7回
 
Introduction to R
Introduction to RIntroduction to R
Introduction to R
 
最近のC++ @ Sapporo.cpp #5
最近のC++ @ Sapporo.cpp #5最近のC++ @ Sapporo.cpp #5
最近のC++ @ Sapporo.cpp #5
 

Más de Nobuaki Oshiro

20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリーNobuaki Oshiro
 
20170909 reafletでお手軽可視化 on_r_20分ver_up用
20170909 reafletでお手軽可視化 on_r_20分ver_up用20170909 reafletでお手軽可視化 on_r_20分ver_up用
20170909 reafletでお手軽可視化 on_r_20分ver_up用Nobuaki Oshiro
 
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
20170826 fukuoka.r告知_reafletでお手軽可視化_on_rNobuaki Oshiro
 
20170707 rでkaggle入門
20170707 rでkaggle入門20170707 rでkaggle入門
20170707 rでkaggle入門Nobuaki Oshiro
 
20170312 r言語環境構築&amp;dplyr ハンズオン
20170312 r言語環境構築&amp;dplyr ハンズオン20170312 r言語環境構築&amp;dplyr ハンズオン
20170312 r言語環境構築&amp;dplyr ハンズオンNobuaki Oshiro
 
20161127 doradora09 japanr2016_lt
20161127 doradora09 japanr2016_lt20161127 doradora09 japanr2016_lt
20161127 doradora09 japanr2016_ltNobuaki Oshiro
 
15 0117 kh-coderご紹介 for R users
15 0117 kh-coderご紹介 for R users15 0117 kh-coderご紹介 for R users
15 0117 kh-coderご紹介 for R usersNobuaki Oshiro
 
15 0117 kh-coderご紹介
15 0117 kh-coderご紹介15 0117 kh-coderご紹介
15 0117 kh-coderご紹介Nobuaki Oshiro
 
15 0117 r言語活用事例-外部公開用
15 0117 r言語活用事例-外部公開用15 0117 r言語活用事例-外部公開用
15 0117 r言語活用事例-外部公開用Nobuaki Oshiro
 
10分で分かるr言語入門 短縮バージョン 15-0117_upload用
10分で分かるr言語入門 短縮バージョン 15-0117_upload用10分で分かるr言語入門 短縮バージョン 15-0117_upload用
10分で分かるr言語入門 短縮バージョン 15-0117_upload用Nobuaki Oshiro
 
Doradora09 lt tokyo_r33
Doradora09 lt tokyo_r33Doradora09 lt tokyo_r33
Doradora09 lt tokyo_r33Nobuaki Oshiro
 
Code iq×japanr 公開用
Code iq×japanr 公開用Code iq×japanr 公開用
Code iq×japanr 公開用Nobuaki Oshiro
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25Nobuaki Oshiro
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25Nobuaki Oshiro
 
Survival analysis0702 2
Survival analysis0702 2Survival analysis0702 2
Survival analysis0702 2Nobuaki Oshiro
 

Más de Nobuaki Oshiro (17)

20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
 
20170909 reafletでお手軽可視化 on_r_20分ver_up用
20170909 reafletでお手軽可視化 on_r_20分ver_up用20170909 reafletでお手軽可視化 on_r_20分ver_up用
20170909 reafletでお手軽可視化 on_r_20分ver_up用
 
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
 
20170707 rでkaggle入門
20170707 rでkaggle入門20170707 rでkaggle入門
20170707 rでkaggle入門
 
20170312 r言語環境構築&amp;dplyr ハンズオン
20170312 r言語環境構築&amp;dplyr ハンズオン20170312 r言語環境構築&amp;dplyr ハンズオン
20170312 r言語環境構築&amp;dplyr ハンズオン
 
20161127 doradora09 japanr2016_lt
20161127 doradora09 japanr2016_lt20161127 doradora09 japanr2016_lt
20161127 doradora09 japanr2016_lt
 
15 0117 kh-coderご紹介 for R users
15 0117 kh-coderご紹介 for R users15 0117 kh-coderご紹介 for R users
15 0117 kh-coderご紹介 for R users
 
15 0117 kh-coderご紹介
15 0117 kh-coderご紹介15 0117 kh-coderご紹介
15 0117 kh-coderご紹介
 
15 0117 r言語活用事例-外部公開用
15 0117 r言語活用事例-外部公開用15 0117 r言語活用事例-外部公開用
15 0117 r言語活用事例-外部公開用
 
10分で分かるr言語入門 短縮バージョン 15-0117_upload用
10分で分かるr言語入門 短縮バージョン 15-0117_upload用10分で分かるr言語入門 短縮バージョン 15-0117_upload用
10分で分かるr言語入門 短縮バージョン 15-0117_upload用
 
Doradora09 lt tokyo_r33
Doradora09 lt tokyo_r33Doradora09 lt tokyo_r33
Doradora09 lt tokyo_r33
 
Code iq×japanr 公開用
Code iq×japanr 公開用Code iq×japanr 公開用
Code iq×japanr 公開用
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25
 
Tokyor24 doradora09
Tokyor24 doradora09Tokyor24 doradora09
Tokyor24 doradora09
 
Tokyor23 doradora09
Tokyor23 doradora09Tokyor23 doradora09
Tokyor23 doradora09
 
Survival analysis0702 2
Survival analysis0702 2Survival analysis0702 2
Survival analysis0702 2
 

10分で分かるR言語入門ver2_0906

  • 1. 10分で分かる R言語入門 ver2 大城信晃 12年9月8日土曜日
  • 2. セキココ http://sekico.co/ zaseki/55 12年9月8日土曜日
  • 3. アジェンダ • 自己紹介 • Rって何 • Rの使い方 • Rの資料 12年9月8日土曜日
  • 4. アジェンダ • 自己紹介 • Rって何 • Rの使い方 • Rの資料 12年9月8日土曜日
  • 5. 自己紹介 • 名前:大城信晃 • Twitter:doradora09 • 職業:Webエンジニア • R:勉強中 • マイブーム: • 15分間集中法 • 出張用カクテル集め 12年9月8日土曜日
  • 6. 出張用カクテル • 小型化により20本突破! • 懇親会でどうぞ 12年9月8日土曜日
  • 7. 写真変えました! Before After 12年9月8日土曜日
  • 8. 写真変えました! Before After 12年9月8日土曜日
  • 9. 撮影者 ボブさん twitter @bob3bob3 ありがとうございます! 12年9月8日土曜日
  • 10. ちなみに主催者の場合 Before After 12年9月8日土曜日
  • 11. こうなる Before After さすがボブさん! 12年9月8日土曜日
  • 12. では本題に • 自己紹介 • Rって何 • Rの使い方 • Rの資料 12年9月8日土曜日
  • 13. R言語(アールげんご)は、オープンソ ースでフリーソフトウェアの統計解 析向けプログラミング言語、及びそ の開発実行環境である。 Wikipediaより引用 12年9月8日土曜日
  • 14. オープンソース 個人が開発に参加できる フリーソフトウェア タダで使える 統計解析向け 関連パッケージが豊富 プログラミング言語 ロジックが記述可能 開発実行環境 Rコンソール 12年9月8日土曜日
  • 15. 用途で分類 プログラミング言語寄り (カスタマイズ可能) 実務利用 プロトタイピング 業務専用 パッケージ 直感的な操作(用途は限定) 12年9月8日土曜日
  • 16. 他言語との比較 特徴 大規模デー 価格 速度 パッケージ タ △ 無料 △ が豊富 (メモリ依存) エクセル 直感的 1万∼ (約100万行) 大規模 SAS ○ 60万∼ ○ データ処理 高速 無料∼ C++ 実装次第 ◎ 開発コスト高 数万 12年9月8日土曜日
  • 17. での使われ方 • プロトタイプをRで作って検証 • PythonやC++で実装 GoogleとFacebookではRをどうやって使っているのか? http://pracmper.blogspot.jp/2010/01/googlefacebookr.html 12年9月8日土曜日
  • 18. こんな方におすすめ • エクセルでは物足りない方 • いろいろな統計手法を試してみたい方 • プログラムも学びたい方 12年9月8日土曜日
  • 19. アジェンダ • 自己紹介 • Rって何 • Rの使い方 • Rの資料 12年9月8日土曜日
  • 20. インストール http://cran.md.tsukuba.ac.jp/ Windows bin/windows/base/ Mac http://cran.md.tsukuba.ac.jp/ Linux http://cran.md.tsukuba.ac.jp/ 12年9月8日土曜日
  • 22. Rコンソール起動 ココに処理を 記述していく 12年9月8日土曜日
  • 23. 例:足し算引き算 3+5 = 8 10-7 = 3 12年9月8日土曜日
  • 24. 解析の流れ データ 処理 レポート 12年9月8日土曜日
  • 25. 解析の流れ 変数 データ 配列 行列 処理 レポート 12年9月8日土曜日
  • 26. 変数 値を入れる箱 > hako <- 10 > hako [1] 10 12年9月8日土曜日
  • 27. 変数 値を入れる箱 > hako <- 10 変数に値を入れる > hako 左矢印のイメージ [1] 10 12年9月8日土曜日
  • 28. 変数 値を入れる箱 > hako <- 10 変数名を打つと > hako 中の値が出る [1] 10 12年9月8日土曜日
  • 29. 変数 値を入れる箱 > hako <- 10 > hako [1] 10 > hako * 2 変数に対して [1] 20 処理(かけ算) 12年9月8日土曜日
  • 30. 配列 複数の値をまとめる > array <- c(10,20,30) > array [1] 10 20 30 > array * 2 [1] 20 40 60 12年9月8日土曜日
  • 31. 配列 複数の値をまとめる > array <- c(10,20,30) > array 3つの値を [1] 10 20 30 配列に格納 > array * 2 [1] 20 40 60 12年9月8日土曜日
  • 32. 配列 複数の値をまとめる > array <- c(10,20,30) > array 値の確認 [1] 10 20 30 > array * 2 [1] 20 40 60 12年9月8日土曜日
  • 33. 配列 複数の値をまとめる > array <- c(10,20,30) > array [1] 10 20 30 処理は > array * 2 すべての値に [1] 20 40 60 適用される 12年9月8日土曜日
  • 34. 配列 複数の値をまとめる > array[1] 配列[番号] で1個ずつ値を [1] 10 取り出せる > array[2] [1] 20 > array[3] [1] 30 12年9月8日土曜日
  • 35. 配列 複数の値をまとめる > array[1] [1] 10 > array[2] 2個目 [1] 20 > array[3] [1] 30 12年9月8日土曜日
  • 36. 配列 複数の値をまとめる > array[1] [1] 10 > array[2] [1] 20 > array[3] 3個目 [1] 30 12年9月8日土曜日
  • 37. 行列 2次元の配列 > array2 <- matrix(c(10,20,30,   40,50,60), 2, 3) > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 60 12年9月8日土曜日
  • 38. 行列 2次元の配列 > array2 <- matrix(c(10,20,30,   40,50,60), 2, 3) > array2 matrixという [,1] [,2] [,3] 関数を利用して 作る [1,] 10 30 50 [2,] 20 40 60 12年9月8日土曜日
  • 39. 行列 2次元の配列 > array2 <- matrix(c(10,20,30,   40,50,60), 2, 3) > array2 2行3列の [,1] [,2] [,3] 行列 [1,] 10 30 50 [2,] 20 40 60 12年9月8日土曜日
  • 40. 行列 各要素の指定 > array2[1,1] 1行1列を [1] 10 指定 > array2[1,] [1] 10 30 50 > array2[,1] [1] 10 20 12年9月8日土曜日
  • 41. 行列 各要素の指定 > array2[1,1] [1] 10 > array2[1,] 1行目全体 を指定 [1] 10 30 50 > array2[,1] [1] 10 20 12年9月8日土曜日
  • 42. 行列 各要素の指定 > array2[1,1] [1] 10 > array2[1,] [1] 10 30 50 > array2[,1] 1列目全体 [1] 10 20 を指定 12年9月8日土曜日
  • 43. 解析の流れ 変数 データ 配列 関数 行 行列 処理 自作関数 CSV レポート 12年9月8日土曜日
  • 44. 関数 処理の呼び出し • 関数は複数の処理をまとめたもの • 関数名(引数) という書き方で呼び出す 12年9月8日土曜日
  • 45. 関数 処理の呼び出し 目的 関数名と書式 使い方 データの結合 C(データ) C( C , B , B ) 合計 sum(データ) sum(10,20,30) 個数を求める length(データ) length(array) 平均 mean(データ) mean(array) 標準偏差 sd(データ) sd(array) ・・・ ・・・ ・・・ 12年9月8日土曜日
  • 46. 関数 合計を求める > array [1] 10 20 30 > sum(array) [1] 60 12年9月8日土曜日
  • 47. 関数 合計を求める > array 先ほどの [1] 10 20 30 配列array > sum(array) [1] 60 12年9月8日土曜日
  • 48. 関数 合計を求める > array [1] 10 20 30 関数名(引数) > sum(array) で処理呼び出し [1] 60 12年9月8日土曜日
  • 49. 関数 合計を求める > array [1] 10 20 30 > sum(array) 処理結果が [1] 60 出力される 12年9月8日土曜日
  • 50. 関数 合計を求める > array2 [,1] [,2] [,3] [1,] 10 30 50 先ほどの行列を 渡した場合 [2,] 20 40 60 > sum(array2) [1] 210 12年9月8日土曜日
  • 51. 関数 合計を求める > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 60 > sum(array2) 合計値が 表示される [1] 210 12年9月8日土曜日
  • 52. 変数 関数 結果を格納 > ret <- sum(array2) > ret 処理結果を [1] 210 変数に格納 12年9月8日土曜日
  • 53. 変数 関数 結果を格納 > ret <- sum(array2) > ret 合計値の [1] 210 確認 12年9月8日土曜日
  • 54. 解析の流れ 変数 データ 配列 関数 行 行列 処理 自作関数 CSV レポート 12年9月8日土曜日
  • 55. CSV 関数 CSV読み込み • 変数に毎回データを手入力するのは面倒 • CSVファイルを読み込む関数がある • エクセル等の外部データ連携に利用 12年9月8日土曜日
  • 56. CSV 関数 CSV読み込み > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 2 178 14000 3 180 9000 12年9月8日土曜日
  • 57. CSV 関数 CSV読み込み > hawks <- read.csv("hawks.csv") > hawks read.csv関数に height salary CSVファイルを 1 173 17000 渡す 2 178 14000 3 180 9000 12年9月8日土曜日
  • 58. CSV 関数 CSV読み込み > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 CSVファイルの 取り込みが 2 178 14000 確認できる 3 180 9000 12年9月8日土曜日
  • 59. 解析の流れ 変数 データ 配列 関数 行 行列 処理 自作関数 CSV レポート 12年9月8日土曜日
  • 60. 自作関数 自分で関数を作る • 関数は自分で定義することも可能 • 繰り返し使う処理は自作関数にする 12年9月8日土曜日
  • 61. 自作関数 自分で関数を作る > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) [1] 66.66667 12年9月8日土曜日
  • 62. 自作関数 自分で関数を作る > varp <- function(x) { 関数の定義 retsult <- var(x) * (length(x) - 1) / length(x) retsult 関数名 <- function (引数) { } 処理 > varp(array) } [1] 66.66667 12年9月8日土曜日
  • 63. 自作関数 自分で関数を作る > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) 定義された処理 が実行される [1] 66.66667 (不偏分散の算出) 12年9月8日土曜日
  • 64. 解析の流れ 変数 データ 配列 関数 行 行列 処理 自作関数 CSV パッケージ レポート 作図 12年9月8日土曜日
  • 65. パッケージ 関数をまとめたもの • 複数の関数をまとめられる • 自作のパッケージも公開できる • 外部のパッケージも利用可能 12年9月8日土曜日
  • 66. パッケージ 外部パッケージ • 外部パッケージはCRANに集約 • すべて無料でダウンロードできる 12年9月8日土曜日
  • 67. パッケージ 外部パッケージ 作図 > install.packages( ggplot2 ) > library("ggplot2") CRANから パッケージ ダウンロード& インストール 12年9月8日土曜日
  • 68. パッケージ 外部パッケージ 作図 > install.packages( ggplot2 ) パッケージを > library("ggplot2") ロード 12年9月8日土曜日
  • 69. パッケージ 外部パッケージ 作図 a <- 1:10 b <- a^2 新たに qplot(a,b) qplot関数が 使える 12年9月8日土曜日
  • 70. パッケージ qplot実行結果 作図 a <- 1:10 b <- a^2 qplot(a,b) 12年9月8日土曜日
  • 71. パッケージ その他作図関数 作図 • 標準の関数でも作図可能 目的 関数名と書式 使い方 ヒストグラム hist(データ) hist(array) 散布図 plot(x, y) plot(a,b) ・・・ ・・・ ・・・ 12年9月8日土曜日
  • 72. 一連の作業がすべて可能 データ 処理 レポート 12年9月8日土曜日
  • 73. アジェンダ • 自己紹介 • Rって何 • Rの使い方 • Rの資料 12年9月8日土曜日
  • 74. CRAN Task Viws • Rには2000以上パッケージがある • 用途別におすすめパッケージを紹介 http://cran.r-project.org/web/views/ 12年9月8日土曜日
  • 75. seekR • R言語用検索エンジン http://seekr.jp/ 12年9月8日土曜日
  • 76. RjpWiki • R言語のWiki http://www.okada.jp.org/RWiki/ 12年9月8日土曜日
  • 77. Rコミュニティ発表資料 • Tokyo.R, Nagoya.R, Tukuba.Rのアーカイブ http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage 「勉強会発表内容一覧」のリンクから 12年9月8日土曜日
  • 78. RとSQLの対応付け • SQLが分かる人は一読の価値有り http://d.hatena.ne.jp/a_bicky/20110529/1306667230 12年9月8日土曜日
  • 79. R-Chart • Rでの作図のサンプルが多数ある http://www.r-chart.com/ 12年9月8日土曜日
  • 80. まとめ • Rは無料の統計解析ソフト • パッケージが豊富 • データ解析からレポートまで利用可能 12年9月8日土曜日
  • 84. 連携も可能 プログラミング言語寄り (カスタマイズ可能) .C()関数 実務利用 RExcel プロトタイピング 業務専用 パッケージ 直感的な操作(用途は限定) 12年9月8日土曜日