SlideShare a Scribd company logo
1 of 66
Download to read offline
[入門セッション]
Rによるやさしい統計学
     第1章
〜 2章3章は余力が無かった〜


             doradora09
Outline
●
    自己紹介
●
    お知らせ
●
    テキスト紹介
●   Rの導入
●   Rをさわってみる
●
    変数と行列
●
    関数とパッケージ
●
    まとめ
自己紹介

●   大城信晃 (Twitter:doradora09)
●   DB寄りWebエンジニア
●   TokyoRは第1回目から参加。
    –   今回で20回目くらい。主に運営のお手伝い
●   趣味:お酒、楽器(ホルン)
●
    マイブーム:ルノアールで夜活
    –   ソファーが快適
お知らせ(1/4) セキココ
●
    セキココという勉強会の座席共有サービスがあるので、もしよ
    ければ使ってみてください
●   席に座っている人のTwitterアカウントが分かるので便利です
●   http://sekico.co/
お知らせ(2/4) 飲み物
●
    簡単ながらブースの後ろの方にお菓子・お飲
    物を用意させていただきました
●
    休憩時間にどうぞご利用下さい
    –   (いつかスイーツタイムを組み込んでみたい)




               ※画面はイメージです
お知らせ(3/4) 懇親会
●   TokyoRではセッション終了後に懇親会を実施して
    います
●
    発表後の参加も可能ですので、プレゼンを聞いて興
    味を持たれた方は是非ご参加下さい
●   一般1500円、学生は無料です!




                    ※画面はイメージです
お知らせ(4/4) 本日のウィスキー
●   出張BAR企画ということで今日はシングルト
    ンを持ってきました
●
    あとカシスもあります。懇親会でどうぞ。




               ※画面はイメージですがだいたい合ってる
そろそろ本題へ
本セッション目的
●   R初心者にRをインストールしてもらう
●   Rの簡単な使い方を覚えてもらう
    –   が主な目的です
    –   新年度になり初めてRを使うユーザーさんもいると思うの
        で、まずは導入編として

    –   R玄人の皆様には繰り返しになり申し訳ありません
    –   自習 or 睡眠学習の時間としてご活用下さいm(_ _)m
    –   (セキココで参加者をフォローしまくってみるとか・・)
テキスト紹介
                          ●   Rによるやさしい統計学
                          ●   オーム社 (2008/1/25)
                          ●   記念すべき第1回TokyoR
                              で用いたテキスト
                              –   よくまとまっているので
                                  もう一度利用してみよう
                                  と思います



http://amazon.jp/dp/4274067106/creazynet-22/ref=nosim/
Rとは何か
●
    統計解析用のソフトウェア
●
    無料で利用可能
●
    基本的にコードを記述して動作させる
    –   プログラミング言語としての側面
●
    金融やマーケティング、医療など様々な分野で
    利用されている
●   各地にR言語のコミュニティや勉強会があり、
    情報交換が行われている
紹介:各Rコミュニティの過去発表資料一覧

●   ATNDの下のリンクからどうぞ
    –   http://atnd.org/events/28416
        ●   「勉強会発表内容一覧 – Japan.R WIki」
●
    発表のタイトルを見るだけでもどういう用途があるか、あ
    る程度参考になると思います
Rの導入
●   Windows, Mac, Linux版がある
●
    いずれも無料
    –   Windows
        ●   http://cran.md.tsukuba.ac.jp/bin/windows/base/
    –   Mac, Linux
        ●   http://cran.md.tsukuba.ac.jp/
URLが分からない場合は
●   「rjpwiki」で検索
●   Rでインストールという項目からたどればOK
Windows版の導入
●
    基本的に他のアプリケーションと同様にイン
    ストールできます
    –   基本「次へ」を連打でOK
●
    インストーラーをダウンロード後、ダブルク
    リックで起動してください
インストール画面
インストール画面
インストール画面
インストール画面
インストール画面
インストール画面
インストール画面
●   あとはインストールが完了するまで待てばOK
Rの起動
●
    インストールが完了するとRのアイコンが作成されます
●
    Rのアイコンをダブルクリックして起動するとRコンソールが起動します
●   Rコンソール上で実行したい処理を記述していきます
電卓として使う
●
    一番シンプルな使い方
●   +や-といった演算子を用いて基本的な計算ができます
●   Rコンソール上で以下のように記述して下さい
    –   #以降はコメントアウトされるので無視でOK
●
    エンターで実行

               3+5    #足し算
               10-3   #引き算
               2*3    #掛け算
               20/4   #割り算
               5^2     #5の2乗
            13 %% 5   #13を5で割った余り(剰余)
実行結果
> 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
関数電卓として利用
●
    関数はいくつかの処理をまとめたもの
●
    関数を利用することで様々な処理を手軽に実施できる
●   関数名(引数) という記述で利用
    –   関数によって引数の個数が変化
●
    以下は関数の例
    –   sum(10,20,30) #引数の合計を求める
    –   sqrt(16) #16の平方根を求める
    –   date() #日付を表示
関数電卓として利用
●
    関数はいくつかの処理をまとめたもの
●
    関数を利用することで様々な処理を手軽に実施でき
    る
●   関数名(引数) という記述で利用
    –   関数によって引数の個数が変化
●
    以下は関数の例
    –   sum(10,20,30) #引数の合計を求める
    –   sqrt(16) #16の平方根を求める
    –   date() #日付を表示
実行結果


> sum(10,20,30) #引数をすべて合計する
[1] 60
> sqrt(16) #16の平方根を求める
[1] 4
> date() #日付を表示
[1] "Fri May 25 09:48:09 2012"
レポート用の図を作成
●   plot等の関数で作図が可能
●   plot(c(10,20,30))とした例
    –   c()はデータの値を結合する関数
参考:きれいな作図
●   ggplot2という外部パッケージを利用すると視
    覚的にきれいな作図が可能
    –   パッケージの導入法は後述します
データを効率的に扱う
●
    ここではデータを効率的に扱うために
    –   変数
    –   行列のデータ作成
    –   外部ファイルの読み込み
    について説明します
変数
●
    変数を用いることで値をまとめて扱えます
●   先ほどのsum(10,20,30) の引数10,20,30場合
●   変数名 <- c(値1,値2,値3) と記述
●
    例
    –   values <- c(10, 20, 30) #変数valuesに値をセット
    –   values #変数名を書くと中身が見れる
    –   sum(values) #sum関数に変数を渡す
●
    なお変数名は自由につけられます
実行結果
    > values <- c(10, 20, 30) #変数valuesに値をセット
    > values #変数名を書くと中身が見れる
    [1] 10 20 30
    > sum(values) #sum関数に変数を渡す
    [1] 60

    #補足
    > sum(c(10,20,30)) #こう書いても同じ結果
    [1] 60

●
    変数を用いると複数の値をまとめて扱えるの
    で便利
行列の表現
●   次のようなデータをRで利用する方法について説明します
●   ホークスの選手5人の身長(height)と年俸(salary)を表現した表


            height          salary

                      173            17000

                      178            14000

                      180            9000

                      183            50000

                      182            30000
Rで行列を記述
●   matrix(c(値), 行数, 列数) という方法で記述
●
    例
    –   hawks <- matrix(c(173, 178, 189, 183, 182,
        17000, 14000, 9000, 50000, 30000), 5, 2)
実行結果
    > 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

●   変数hawksに5行2列の行列が格納された
発展:行列の要素へのアクセス
●
    行列の各要素には以下の方法でアクセスします
    –   n行目(横のデータ)を表示する場合は 変数名[n,]
    –   m列目(縦のデータ)を表示する場合は 変数名[,m]
    –   n行m列目を表示する場合は 変数名[n,m]
●
    例
    –   hawks #行列全体を表示
    –   hawks[1,] #1行目のデータにアクセス
    –   hawks[,1] #1列目のデータにアクセス
    –   hawks[3,2] #3行2列目のデータにアクセス
実行結果
> 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形式の外部ファイルを読み込むこと
    ができます
    –   CSV:カンマ区切りのデータフォーマット
●
    ここではエクセルと連携しやすいように、エ
    クセルのデータからCSVファイルを作成し、R
    に取り込む方法を説明します
データの用意
●
    先ほども用いたホークスの選手の身長と年俸
    を表現したリストをエクセルで用意します

        height         salary

                 173            17000

                 178            14000

                 180            9000

                 183            50000

                 182            30000
エクセルで作る場合
●
    データをエクセル上で記述
●
    1行目はヘッダー行で項目名に相当
●
    2行目以下が各項目の値
エクセルの保存形式の変更
●   エクセルのデータは通常はCSV形式ではないためそのままでは利用できま
    せん
●   保存する際にCSV形式を選択します
●   ここではhawks.csvというファイル名で保存
CSVファイルの確認
●   作成したhawks.csvをテキストエディタで開く
    と次のようにカンマ区切りのデータが確認で
    きます
            height,salary
            173,17000
            178,14000
            180,9000
            183,50000
            182,30000

●
    なお直接テキストエディタでこのようなデータ
    を作ることも可能です
CSVファイルの読み込み
●   作成したCSVファイルを読み込むためには、まず
    CSVファイルを保存したフォルダに作業フォルダ
    を移動します

●   Rコンソールでは次の手順
    –   「ファイル」 → 「ディレクトリの変更」
●
    コマンドだと以下の手順
    –   getwd() #現在の作業ディレクトリを確認
    –   setwd(“作業ディレクトリまでのパス”) #移動
コマンド実行例
> getwd() #変更前の作業ディレクトリ
[1] "/Users/akiaki5516"
>

#作業ディレクトリ変更
>
setwd("/Users/akiaki5516/doradora12/Dropbox/TokyoR
/23")

> getwd() #変更後の作業ディレクトリ確認
[1] "/Users/akiaki5516/doradora12/Dropbox/TokyoR/23"

> dir(); #作業ディレクトリ内のファイル一覧
[1] "hawks.csv"
CSVファイルの読み込み
●   read.csv(“ファイル名”) で読み込みます
●
    例
    –   hawks2 <- read.csv(“hawks.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ではsum()等の組み込み関数の他に、ユー
    ザーの自作関数を利用することができます
●
    関数化することで同じ処理をまとめることが
    できます
●
    自身が作成した関数を配布したり、他人が自
    作した関数を利用することも可能です
自作関数varp()
●   関数名 <- function(引数) { 処理 } という記述
    で関数を作る
●   標本分散を求めるvarp()関数を作ってみる
    –   標本分散は偏差の二乗和 / データ
●
    例
    –   varp <- function(x) {
    –       result <- var(x) * (length(x) - 1) / length(x)
    –       result
    –   }
実行結果
> 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


> length(hawks2[,1]) #ちなみにlengthは個数を返す関数
[1] 5
他の人の関数を使う
●
    関数はファイルとして保存し、読み込むことが
    可能です
●   ファイルの拡張子は.R
●
    例
    –   先ほどのvarp関数をちょっと変えてvarp.Rとして保
        存する
    –   varp <- function(x) {
    –       print("処理開始") #文言を追加
    –       result <- var(x) * (length(x) - 1) / length(x)
    –       result
    –   }
関数の読み込み
●   source(“関数ファイル名”) とします
●
    例
    –   source(“varp.R”)
実行結果
> source("varp.R") #関数ファイル読み込み
> res <- varp(hawks2[,1]) #resに結果格納
[1] "処理開始"

> res #結果出力
[1] 12.56
>
> varp #ちなみに()なしだと関数の中身が見れます
function(x) {
    print("処理開始")
     result <- var(x) * (length(x) - 1) / length(x)
    result
 }
>
パッケージをインストールしてみる
●
    複数の関数をまとめたものがパッケージです
●   パッケージはCRANと呼ばれるパッケージ管
    理サーバに保存されています
●   最初に出てきたggplot2パッケージを入れてみ
    ます
CRAN mirrorの設定
●
    初回のみパッケージを取りにいくミラーサーバー
    の指定が必要です
●
    まずパッケージ管理画面を開きます
    –   windowsだとRコンソール上で「パッケージ」->
        「パッケージのインストール」
    –   macだと「パッケージとデータ」 → 「パッケージイ
        ンストーラ」
●   画面からミラーサイトとしてJapan(Hyogo)又は
    Japan(Tsukuba)を選択
●   パッケージマネージャの検索窓にggplot2と入力
    し、インストールボタンを押します
    – コマンドだと install.packages(“ggplot2”)
画面の例(mac版)
インストールしたパッケージを使う
●
    インストールしたパッケージはそのままでは
    使えないので、library関数で呼び出します
●
    例
    –   library(“ggplot2)
実行結果
●
    依存関係のエラーが出た

    > library("ggplot2")
     エラー: パッケージ 'reshape' が 'ggplot2' によって要
    求されましたが、見つけられませんでした
依存関係の解消
●
    パッケージの中で他のパッケージを利用している際は
    依存関係が発生する
●
    依存関係のエラーで出てきたパッケージを片っ端から
    入れる
●
    例
    –   insatll.pacages(“reshape”)
    –   insatll.pacages(“plyr”)
    –   install.pacages(“grid”)
    –   install.pacages(“proto”)
    –   install.pacages(“ggplot2”) #本命
再度実行
●
    今度はちゃんと呼び出せた

      > insatll.pacages(“reshape”)
      > insatll.pacages(“plyr”)
      > install.pacages(“grid”)
      > install.pacages(“proto”)
      > install.pacages(“ggplot2”) #本命

      > library(ggplot2) #今度は成功
ggplot2で作図
> qplot(salary, height, data = hawks2,
colour = I("blue"))
ggplot2をもっと知りたい方へ
●   過去のR勉強会で発表されていますので、参考
    にしてみてください
    –   ggplot2:パッケージ製作者(Wickamさん)の話
        を聞いて @aad34210さん
        ●   http://www.slideshare.net/aad34210/ggplot2-110129
    –   ggplot2できれいなグラフ@dichikaさん
        ●   http://www.slideshare.net/dichika/ggplot2
まとめ
●   Rをインストールするときは「rjpwiki」で検索
●
    まずは電卓や関数電卓として使ってみてくださ
    い
●   plotやggplot2パッケージで作図も可能
●
    変数でデータをまとめ、関数で処理をまとめ
    る
●   データはCSVフォーマットで取り込めます
●   関数パッケージはCRANからインストールで
    きます
もっとRを知りたい方へ
●
    初心者向けおすすめ資料
    –   はじめてのR @aad34210
        ●   http://www.slideshare.net/aad34210/tokyo-r18
    –   続はじめてのR @aad34210
        ●   http://www.slideshare.net/aad34210/tokyo-r21-2
●
    エクセルともっと連動させる
    –   RExcelでの日本語利用 @aad34210
        ●
            http://www.slideshare.net/aad34210/japan-r-101127
    –   XLConnectで快適なエクセルライフのご提案
        @dichika
         ●
           http://www.slideshare.net/dichika/tokyor18
ご清聴ありがとうございました!

More Related Content

What's hot

Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)Google Developer Relations Team
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25Nobuaki Oshiro
 
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」Nagi Teramo
 
Goをカンストさせる話
Goをカンストさせる話Goをカンストさせる話
Goをカンストさせる話Moriyoshi Koizumi
 
C++でHello worldを書いてみた
C++でHello worldを書いてみたC++でHello worldを書いてみた
C++でHello worldを書いてみたfirewood
 
String representation in py3k
String representation in py3kString representation in py3k
String representation in py3kAtsuo Ishimoto
 
菩薩でもわかる!Rで動かすExcelアドインの作り方
 菩薩でもわかる!Rで動かすExcelアドインの作り方  菩薩でもわかる!Rで動かすExcelアドインの作り方
菩薩でもわかる!Rで動かすExcelアドインの作り方 Nagi Teramo
 
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Takashi J OZAKI
 
これからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールこれからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールNobuhisa Koizumi
 
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用Shintaro Fukushima
 
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章aomori ringo
 
Intoroduction of Pandas with Python
Intoroduction of Pandas with PythonIntoroduction of Pandas with Python
Intoroduction of Pandas with PythonAtsushi Hayakawa
 
Python で munin plugin を書いてみる
Python で munin plugin を書いてみるPython で munin plugin を書いてみる
Python で munin plugin を書いてみるftnk
 

What's hot (19)

Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
 
R3.0.0 is relased
R3.0.0 is relasedR3.0.0 is relased
R3.0.0 is relased
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25
 
Nginx lua
Nginx luaNginx lua
Nginx lua
 
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
 
Rでreproducible research
Rでreproducible researchRでreproducible research
Rでreproducible research
 
Goをカンストさせる話
Goをカンストさせる話Goをカンストさせる話
Goをカンストさせる話
 
C++でHello worldを書いてみた
C++でHello worldを書いてみたC++でHello worldを書いてみた
C++でHello worldを書いてみた
 
String representation in py3k
String representation in py3kString representation in py3k
String representation in py3k
 
菩薩でもわかる!Rで動かすExcelアドインの作り方
 菩薩でもわかる!Rで動かすExcelアドインの作り方  菩薩でもわかる!Rで動かすExcelアドインの作り方
菩薩でもわかる!Rで動かすExcelアドインの作り方
 
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
 
これからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツールこれからの「言語」の話をしよう ―― 未来を生きるためのツール
これからの「言語」の話をしよう ―― 未来を生きるためのツール
 
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
 
Applicative functor
Applicative functorApplicative functor
Applicative functor
 
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章
 
F#のすすめ
F#のすすめF#のすすめ
F#のすすめ
 
 
  
 
 
Intoroduction of Pandas with Python
Intoroduction of Pandas with PythonIntoroduction of Pandas with Python
Intoroduction of Pandas with Python
 
Python で munin plugin を書いてみる
Python で munin plugin を書いてみるPython で munin plugin を書いてみる
Python で munin plugin を書いてみる
 

Similar to Tokyor23 doradora09

10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25Nobuaki Oshiro
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章Tomonobu_Hirano
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案yushin_hirano
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーるSachiko Hirata
 
K010 appstat201201
K010 appstat201201K010 appstat201201
K010 appstat201201t2tarumi
 
Rを用いた外国語教育データの整理・要約
Rを用いた外国語教育データの整理・要約Rを用いた外国語教育データの整理・要約
Rを用いた外国語教育データの整理・要約Yusaku Kawaguchi
 
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)Masahiro Hayashi
 
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)Shin-ya Koga
 
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 110110分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101Nobuaki Oshiro
 
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
 
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)YoheiOkuyama
 
Write good parser in perl
Write good parser in perlWrite good parser in perl
Write good parser in perlJiro Nishiguchi
 
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~Kazuya Wada
 
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法博文 斉藤
 
Python standard 2022 Spring
Python standard 2022 SpringPython standard 2022 Spring
Python standard 2022 Springanyakichi
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Shintaro Fukushima
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, CodereadingHiro Yoshioka
 
DTrace for biginners part(2)
DTrace for biginners part(2)DTrace for biginners part(2)
DTrace for biginners part(2)Shoji Haraguchi
 
研究生のためのC++ no.2
研究生のためのC++ no.2研究生のためのC++ no.2
研究生のためのC++ no.2Tomohiro Namba
 

Similar to Tokyor23 doradora09 (20)

10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーる
 
K010 appstat201201
K010 appstat201201K010 appstat201201
K010 appstat201201
 
Rを用いた外国語教育データの整理・要約
Rを用いた外国語教育データの整理・要約Rを用いた外国語教育データの整理・要約
Rを用いた外国語教育データの整理・要約
 
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
 
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
 
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 110110分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101
 
HiRoshimaR3_IntroR
HiRoshimaR3_IntroRHiRoshimaR3_IntroR
HiRoshimaR3_IntroR
 
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920 10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920
 
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
 
Write good parser in perl
Write good parser in perlWrite good parser in perl
Write good parser in perl
 
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
 
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法
 
Python standard 2022 Spring
Python standard 2022 SpringPython standard 2022 Spring
Python standard 2022 Spring
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
DTrace for biginners part(2)
DTrace for biginners part(2)DTrace for biginners part(2)
DTrace for biginners part(2)
 
研究生のためのC++ no.2
研究生のためのC++ no.2研究生のためのC++ no.2
研究生のためのC++ no.2
 

More from 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
 
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 101010分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010Nobuaki Oshiro
 
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 090510分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905Nobuaki Oshiro
 
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用Nobuaki 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
 
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.7
10分で分かるr言語入門ver2.710分で分かるr言語入門ver2.7
10分で分かるr言語入門ver2.7Nobuaki Oshiro
 
10分で分かるr言語入門ver2 6
10分で分かるr言語入門ver2 610分で分かるr言語入門ver2 6
10分で分かるr言語入門ver2 6Nobuaki Oshiro
 
10分で分かるr言語入門ver2.5
10分で分かるr言語入門ver2.510分で分かるr言語入門ver2.5
10分で分かるr言語入門ver2.5Nobuaki Oshiro
 
10分で分かるr言語入門ver2.4
10分で分かるr言語入門ver2.410分で分かるr言語入門ver2.4
10分で分かるr言語入門ver2.4Nobuaki Oshiro
 
Doradora09 lt tokyo_r33
Doradora09 lt tokyo_r33Doradora09 lt tokyo_r33
Doradora09 lt tokyo_r33Nobuaki Oshiro
 
10分で分かるr言語入門ver2.3
10分で分かるr言語入門ver2.310分で分かるr言語入門ver2.3
10分で分かるr言語入門ver2.3Nobuaki Oshiro
 

More from Nobuaki Oshiro (20)

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
 
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 101010分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
 
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 090510分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
 
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
 
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用
 
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.7
10分で分かるr言語入門ver2.710分で分かるr言語入門ver2.7
10分で分かるr言語入門ver2.7
 
10分で分かるr言語入門ver2 6
10分で分かるr言語入門ver2 610分で分かるr言語入門ver2 6
10分で分かるr言語入門ver2 6
 
10分で分かるr言語入門ver2.5
10分で分かるr言語入門ver2.510分で分かるr言語入門ver2.5
10分で分かるr言語入門ver2.5
 
10分で分かるr言語入門ver2.4
10分で分かるr言語入門ver2.410分で分かるr言語入門ver2.4
10分で分かるr言語入門ver2.4
 
Doradora09 lt tokyo_r33
Doradora09 lt tokyo_r33Doradora09 lt tokyo_r33
Doradora09 lt tokyo_r33
 
10分で分かるr言語入門ver2.3
10分で分かるr言語入門ver2.310分で分かるr言語入門ver2.3
10分で分かるr言語入門ver2.3
 

Tokyor23 doradora09

  • 1. [入門セッション] Rによるやさしい統計学 第1章 〜 2章3章は余力が無かった〜 doradora09
  • 2. Outline ● 自己紹介 ● お知らせ ● テキスト紹介 ● Rの導入 ● Rをさわってみる ● 変数と行列 ● 関数とパッケージ ● まとめ
  • 3. 自己紹介 ● 大城信晃 (Twitter:doradora09) ● DB寄りWebエンジニア ● TokyoRは第1回目から参加。 – 今回で20回目くらい。主に運営のお手伝い ● 趣味:お酒、楽器(ホルン) ● マイブーム:ルノアールで夜活 – ソファーが快適
  • 4. お知らせ(1/4) セキココ ● セキココという勉強会の座席共有サービスがあるので、もしよ ければ使ってみてください ● 席に座っている人のTwitterアカウントが分かるので便利です ● http://sekico.co/
  • 5. お知らせ(2/4) 飲み物 ● 簡単ながらブースの後ろの方にお菓子・お飲 物を用意させていただきました ● 休憩時間にどうぞご利用下さい – (いつかスイーツタイムを組み込んでみたい) ※画面はイメージです
  • 6. お知らせ(3/4) 懇親会 ● TokyoRではセッション終了後に懇親会を実施して います ● 発表後の参加も可能ですので、プレゼンを聞いて興 味を持たれた方は是非ご参加下さい ● 一般1500円、学生は無料です! ※画面はイメージです
  • 7. お知らせ(4/4) 本日のウィスキー ● 出張BAR企画ということで今日はシングルト ンを持ってきました ● あとカシスもあります。懇親会でどうぞ。 ※画面はイメージですがだいたい合ってる
  • 9. 本セッション目的 ● R初心者にRをインストールしてもらう ● Rの簡単な使い方を覚えてもらう – が主な目的です – 新年度になり初めてRを使うユーザーさんもいると思うの で、まずは導入編として – R玄人の皆様には繰り返しになり申し訳ありません – 自習 or 睡眠学習の時間としてご活用下さいm(_ _)m – (セキココで参加者をフォローしまくってみるとか・・)
  • 10. テキスト紹介 ● Rによるやさしい統計学 ● オーム社 (2008/1/25) ● 記念すべき第1回TokyoR で用いたテキスト – よくまとまっているので もう一度利用してみよう と思います http://amazon.jp/dp/4274067106/creazynet-22/ref=nosim/
  • 11. Rとは何か ● 統計解析用のソフトウェア ● 無料で利用可能 ● 基本的にコードを記述して動作させる – プログラミング言語としての側面 ● 金融やマーケティング、医療など様々な分野で 利用されている ● 各地にR言語のコミュニティや勉強会があり、 情報交換が行われている
  • 12. 紹介:各Rコミュニティの過去発表資料一覧 ● ATNDの下のリンクからどうぞ – http://atnd.org/events/28416 ● 「勉強会発表内容一覧 – Japan.R WIki」 ● 発表のタイトルを見るだけでもどういう用途があるか、あ る程度参考になると思います
  • 13. Rの導入 ● Windows, Mac, Linux版がある ● いずれも無料 – Windows ● http://cran.md.tsukuba.ac.jp/bin/windows/base/ – Mac, Linux ● http://cran.md.tsukuba.ac.jp/
  • 14. URLが分からない場合は ● 「rjpwiki」で検索 ● Rでインストールという項目からたどればOK
  • 15. Windows版の導入 ● 基本的に他のアプリケーションと同様にイン ストールできます – 基本「次へ」を連打でOK ● インストーラーをダウンロード後、ダブルク リックで起動してください
  • 23. あとはインストールが完了するまで待てばOK
  • 24. Rの起動 ● インストールが完了するとRのアイコンが作成されます ● Rのアイコンをダブルクリックして起動するとRコンソールが起動します ● Rコンソール上で実行したい処理を記述していきます
  • 25. 電卓として使う ● 一番シンプルな使い方 ● +や-といった演算子を用いて基本的な計算ができます ● Rコンソール上で以下のように記述して下さい – #以降はコメントアウトされるので無視でOK ● エンターで実行 3+5 #足し算 10-3 #引き算 2*3 #掛け算 20/4 #割り算 5^2 #5の2乗 13 %% 5 #13を5で割った余り(剰余)
  • 26. 実行結果 > 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
  • 27. 関数電卓として利用 ● 関数はいくつかの処理をまとめたもの ● 関数を利用することで様々な処理を手軽に実施できる ● 関数名(引数) という記述で利用 – 関数によって引数の個数が変化 ● 以下は関数の例 – sum(10,20,30) #引数の合計を求める – sqrt(16) #16の平方根を求める – date() #日付を表示
  • 28. 関数電卓として利用 ● 関数はいくつかの処理をまとめたもの ● 関数を利用することで様々な処理を手軽に実施でき る ● 関数名(引数) という記述で利用 – 関数によって引数の個数が変化 ● 以下は関数の例 – sum(10,20,30) #引数の合計を求める – sqrt(16) #16の平方根を求める – date() #日付を表示
  • 29. 実行結果 > sum(10,20,30) #引数をすべて合計する [1] 60 > sqrt(16) #16の平方根を求める [1] 4 > date() #日付を表示 [1] "Fri May 25 09:48:09 2012"
  • 30. レポート用の図を作成 ● plot等の関数で作図が可能 ● plot(c(10,20,30))とした例 – c()はデータの値を結合する関数
  • 31. 参考:きれいな作図 ● ggplot2という外部パッケージを利用すると視 覚的にきれいな作図が可能 – パッケージの導入法は後述します
  • 32. データを効率的に扱う ● ここではデータを効率的に扱うために – 変数 – 行列のデータ作成 – 外部ファイルの読み込み について説明します
  • 33. 変数 ● 変数を用いることで値をまとめて扱えます ● 先ほどのsum(10,20,30) の引数10,20,30場合 ● 変数名 <- c(値1,値2,値3) と記述 ● 例 – values <- c(10, 20, 30) #変数valuesに値をセット – values #変数名を書くと中身が見れる – sum(values) #sum関数に変数を渡す ● なお変数名は自由につけられます
  • 34. 実行結果 > values <- c(10, 20, 30) #変数valuesに値をセット > values #変数名を書くと中身が見れる [1] 10 20 30 > sum(values) #sum関数に変数を渡す [1] 60 #補足 > sum(c(10,20,30)) #こう書いても同じ結果 [1] 60 ● 変数を用いると複数の値をまとめて扱えるの で便利
  • 35. 行列の表現 ● 次のようなデータをRで利用する方法について説明します ● ホークスの選手5人の身長(height)と年俸(salary)を表現した表 height salary 173 17000 178 14000 180 9000 183 50000 182 30000
  • 36. Rで行列を記述 ● matrix(c(値), 行数, 列数) という方法で記述 ● 例 – hawks <- matrix(c(173, 178, 189, 183, 182, 17000, 14000, 9000, 50000, 30000), 5, 2)
  • 37. 実行結果 > 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 ● 変数hawksに5行2列の行列が格納された
  • 38. 発展:行列の要素へのアクセス ● 行列の各要素には以下の方法でアクセスします – n行目(横のデータ)を表示する場合は 変数名[n,] – m列目(縦のデータ)を表示する場合は 変数名[,m] – n行m列目を表示する場合は 変数名[n,m] ● 例 – hawks #行列全体を表示 – hawks[1,] #1行目のデータにアクセス – hawks[,1] #1列目のデータにアクセス – hawks[3,2] #3行2列目のデータにアクセス
  • 39. 実行結果 > 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
  • 40. 外部ファイルの読み込み ● RではCSV形式の外部ファイルを読み込むこと ができます – CSV:カンマ区切りのデータフォーマット ● ここではエクセルと連携しやすいように、エ クセルのデータからCSVファイルを作成し、R に取り込む方法を説明します
  • 41. データの用意 ● 先ほども用いたホークスの選手の身長と年俸 を表現したリストをエクセルで用意します height salary 173 17000 178 14000 180 9000 183 50000 182 30000
  • 42. エクセルで作る場合 ● データをエクセル上で記述 ● 1行目はヘッダー行で項目名に相当 ● 2行目以下が各項目の値
  • 43. エクセルの保存形式の変更 ● エクセルのデータは通常はCSV形式ではないためそのままでは利用できま せん ● 保存する際にCSV形式を選択します ● ここではhawks.csvというファイル名で保存
  • 44. CSVファイルの確認 ● 作成したhawks.csvをテキストエディタで開く と次のようにカンマ区切りのデータが確認で きます height,salary 173,17000 178,14000 180,9000 183,50000 182,30000 ● なお直接テキストエディタでこのようなデータ を作ることも可能です
  • 45. CSVファイルの読み込み ● 作成したCSVファイルを読み込むためには、まず CSVファイルを保存したフォルダに作業フォルダ を移動します ● Rコンソールでは次の手順 – 「ファイル」 → 「ディレクトリの変更」 ● コマンドだと以下の手順 – getwd() #現在の作業ディレクトリを確認 – setwd(“作業ディレクトリまでのパス”) #移動
  • 46. コマンド実行例 > getwd() #変更前の作業ディレクトリ [1] "/Users/akiaki5516" > #作業ディレクトリ変更 > setwd("/Users/akiaki5516/doradora12/Dropbox/TokyoR /23") > getwd() #変更後の作業ディレクトリ確認 [1] "/Users/akiaki5516/doradora12/Dropbox/TokyoR/23" > dir(); #作業ディレクトリ内のファイル一覧 [1] "hawks.csv"
  • 47. CSVファイルの読み込み ● read.csv(“ファイル名”) で読み込みます ● 例 – hawks2 <- read.csv(“hawks.csv”);
  • 48. 実行結果 > hawks2 <- read.csv("hawks.csv") #csv ファイルの読み込み > hawks2 #変数の中身確認 height salary 1 173 17000 2 178 14000 3 180 9000 4 183 50000 5 182 30000
  • 49. 関数を自作する ● Rではsum()等の組み込み関数の他に、ユー ザーの自作関数を利用することができます ● 関数化することで同じ処理をまとめることが できます ● 自身が作成した関数を配布したり、他人が自 作した関数を利用することも可能です
  • 50. 自作関数varp() ● 関数名 <- function(引数) { 処理 } という記述 で関数を作る ● 標本分散を求めるvarp()関数を作ってみる – 標本分散は偏差の二乗和 / データ ● 例 – varp <- function(x) { – result <- var(x) * (length(x) - 1) / length(x) – result – }
  • 51. 実行結果 > 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 > length(hawks2[,1]) #ちなみにlengthは個数を返す関数 [1] 5
  • 52. 他の人の関数を使う ● 関数はファイルとして保存し、読み込むことが 可能です ● ファイルの拡張子は.R ● 例 – 先ほどのvarp関数をちょっと変えてvarp.Rとして保 存する – varp <- function(x) { – print("処理開始") #文言を追加 – result <- var(x) * (length(x) - 1) / length(x) – result – }
  • 53. 関数の読み込み ● source(“関数ファイル名”) とします ● 例 – source(“varp.R”)
  • 54. 実行結果 > source("varp.R") #関数ファイル読み込み > res <- varp(hawks2[,1]) #resに結果格納 [1] "処理開始" > res #結果出力 [1] 12.56 > > varp #ちなみに()なしだと関数の中身が見れます function(x) { print("処理開始") result <- var(x) * (length(x) - 1) / length(x) result } >
  • 55. パッケージをインストールしてみる ● 複数の関数をまとめたものがパッケージです ● パッケージはCRANと呼ばれるパッケージ管 理サーバに保存されています ● 最初に出てきたggplot2パッケージを入れてみ ます
  • 56. CRAN mirrorの設定 ● 初回のみパッケージを取りにいくミラーサーバー の指定が必要です ● まずパッケージ管理画面を開きます – windowsだとRコンソール上で「パッケージ」-> 「パッケージのインストール」 – macだと「パッケージとデータ」 → 「パッケージイ ンストーラ」 ● 画面からミラーサイトとしてJapan(Hyogo)又は Japan(Tsukuba)を選択 ● パッケージマネージャの検索窓にggplot2と入力 し、インストールボタンを押します – コマンドだと install.packages(“ggplot2”)
  • 58. インストールしたパッケージを使う ● インストールしたパッケージはそのままでは 使えないので、library関数で呼び出します ● 例 – library(“ggplot2)
  • 59. 実行結果 ● 依存関係のエラーが出た > library("ggplot2") エラー: パッケージ 'reshape' が 'ggplot2' によって要 求されましたが、見つけられませんでした
  • 60. 依存関係の解消 ● パッケージの中で他のパッケージを利用している際は 依存関係が発生する ● 依存関係のエラーで出てきたパッケージを片っ端から 入れる ● 例 – insatll.pacages(“reshape”) – insatll.pacages(“plyr”) – install.pacages(“grid”) – install.pacages(“proto”) – install.pacages(“ggplot2”) #本命
  • 61. 再度実行 ● 今度はちゃんと呼び出せた > insatll.pacages(“reshape”) > insatll.pacages(“plyr”) > install.pacages(“grid”) > install.pacages(“proto”) > install.pacages(“ggplot2”) #本命 > library(ggplot2) #今度は成功
  • 62. ggplot2で作図 > qplot(salary, height, data = hawks2, colour = I("blue"))
  • 63. ggplot2をもっと知りたい方へ ● 過去のR勉強会で発表されていますので、参考 にしてみてください – ggplot2:パッケージ製作者(Wickamさん)の話 を聞いて @aad34210さん ● http://www.slideshare.net/aad34210/ggplot2-110129 – ggplot2できれいなグラフ@dichikaさん ● http://www.slideshare.net/dichika/ggplot2
  • 64. まとめ ● Rをインストールするときは「rjpwiki」で検索 ● まずは電卓や関数電卓として使ってみてくださ い ● plotやggplot2パッケージで作図も可能 ● 変数でデータをまとめ、関数で処理をまとめ る ● データはCSVフォーマットで取り込めます ● 関数パッケージはCRANからインストールで きます
  • 65. もっとRを知りたい方へ ● 初心者向けおすすめ資料 – はじめてのR @aad34210 ● http://www.slideshare.net/aad34210/tokyo-r18 – 続はじめてのR @aad34210 ● http://www.slideshare.net/aad34210/tokyo-r21-2 ● エクセルともっと連動させる – RExcelでの日本語利用 @aad34210 ● http://www.slideshare.net/aad34210/japan-r-101127 – XLConnectで快適なエクセルライフのご提案 @dichika ● http://www.slideshare.net/dichika/tokyor18