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

Preview:

DESCRIPTION

 

Citation preview

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日土曜日

特徴 大規模データ

価格 速度パッケージが豊富

△(メモリ依存)

無料 △

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

1万~ ×

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日土曜日

Rコンソール起動

12年9月8日土曜日

Rコンソール起動

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

12年9月8日土曜日

例:足し算引き算

3+5 = 810-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

[1] 10 20 30

> array * 2

[1] 20 40 60

3つの値を配列に格納

配列

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] 10

> array[2]

[1] 20

> array[3]

[1] 30

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

配列

12年9月8日土曜日

複数の値をまとめる> array[1]

[1] 10

> array[2]

[1] 20

> array[3]

[1] 30

配列

2個目

12年9月8日土曜日

複数の値をまとめる> array[1]

[1] 10

> array[2]

[1] 20

> array[3]

[1] 30

配列

3個目

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

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

[1,] 10 30 50

[2,] 20 40 60

matrixという関数を利用して

作る

行列

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

2行3列の行列

行列

12年9月8日土曜日

各要素の指定> array2[1,1]

[1] 10

> array2[1,]

[1] 10 30 50

> array2[,1]

[1] 10 20

1行1列を指定

行列

12年9月8日土曜日

各要素の指定> array2[1,1]

[1] 10

> array2[1,]

[1] 10 30 50

> array2[,1]

[1] 10 20

1行目全体を指定

行列

12年9月8日土曜日

各要素の指定> array2[1,1]

[1] 10

> array2[1,]

[1] 10 30 50

> array2[,1]

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

行列

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

> sum(array)

[1] 60

先ほどの配列array

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> hawks <- read.csv("hawks.csv")

> hawks

height salary

1 173 17000

2 178 14000

3 180 9000

CSV読み込み

12年9月8日土曜日

関数CSV> hawks <- read.csv("hawks.csv")

> hawks

height salary

1 173 17000

2 178 14000

3 180 9000

read.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

CSVファイルの取り込みが確認できる

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

}

> varp(array)

[1] 66.66667

関数名 <- function (引数) { 処理

}

関数の定義

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日土曜日

a <- 1:10

b <- a^2

qplot(a,b)

qplot実行結果パッケージ作図

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

http://seekr.jp/

• R言語用検索エンジン

12年9月8日土曜日

RjpWiki• R言語のWikihttp://www.okada.jp.org/RWiki/

12年9月8日土曜日

Rコミュニティ発表資料http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage「勉強会発表内容一覧」のリンクから

• Tokyo.R, Nagoya.R, Tukuba.Rのアーカイブ

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日土曜日

Recommended