10分で分かるr言語入門ver2.5
Upcoming SlideShare
Loading in...5
×
 

10分で分かるr言語入門ver2.5

on

  • 11,457 views

第35回R勉強会@東京(#TokyoR)

第35回R勉強会@東京(#TokyoR)
ATND: http://atnd.org/events/45114

Statistics

Views

Total Views
11,457
Views on SlideShare
11,241
Embed Views
216

Actions

Likes
22
Downloads
62
Comments
0

6 Embeds 216

http://blog.kyoro1.com 96
https://twitter.com 82
http://estrellita.hatenablog.com 27
http://dl.dropboxusercontent.com 7
http://3163308693081215577_e6442453f0de5dc5d73a647ad545398499e9e9e9.blogspot.com 3
http://3163308693081215577_e6442453f0de5dc5d73a647ad545398499e9e9e9.blogspot.jp 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

10分で分かるr言語入門ver2.5 10分で分かるr言語入門ver2.5 Presentation Transcript

  • 10分で分かる R言語入門 ver2.5 大城信晃 2013/11/09 TokyoR#35 13年11月9日土曜日
  • 開催情報 ATND http://atnd.org/events/45114 セキココ http://sekico.co/zaseki/218 13年11月9日土曜日
  • お知らせ Rユーザー会 (11/29 - 30 @統数研) http://prcs.ism.ac.jp/useRjp/ Japan.R (12/7 @ヤフー) http://atnd.org/events/44682 13年11月9日土曜日 View slide
  • 本セッションの役割 • R初心者のために基礎を説明 • 本勉強会の以降の他セッションの前提 知識を得てもらう 13年11月9日土曜日 View slide
  • アジェンダ • 自己紹介 • Rって何 • Rの使い方 • Rの資料 13年11月9日土曜日
  • 自己紹介 • 名前:大城信晃 • Twitter:doradora09 • 職業:データマイニングエンジニア • R:勉強中。いつか業務で使いたい • マイブーム: • カクテル作り • カメラ 13年11月9日土曜日
  • これまで/現在の仕事 • ショッピング関連 • 商品/製品DB 保守開発 • データ分析関連 • 行動ターゲティング • データを使って顧客像を探る 13年11月9日土曜日
  • TokyoRでは • 第1回から主に運営側で参加 • 初心者セッション • 最近は懇親会でピザ注文したりお酒作 ったりしてます 13年11月9日土曜日
  • お菓子もどうぞ! 13年11月9日土曜日
  • 本日のお酒 13年11月9日土曜日
  • 本日のお酒 ジョニーウォーカー 13年11月9日土曜日
  • 本日のお酒 • ジョニー・ウォーカー (Johnnie Walker) は スコッチ・ウイスキーの世界的に有名なブラ ンドで、スコットランド・キルマーノック (Kilmarnock)の発祥である。 • ジョニー・ウォーカーはスコッチの銘柄とし ては世界で一番広まっている。200以上の 国々で年間1億2000万本売れている。 13年11月9日土曜日
  • 種類 13年11月9日土曜日
  • 本日のお酒 13年11月9日土曜日
  • ジョニ青! 13年11月9日土曜日
  • 懇親会も是非 ご参加下さい! 13年11月9日土曜日
  • では本題に • 自己紹介とお知らせ • Rって何 • Rの使い方 • Rの資料 13年11月9日土曜日
  • R言語(アールげんご)は、オープンソ ースでフリーソフトウェアの統計解 析向けプログラミング言語、及びそ の開発実行環境である。 Wikipediaより引用 13年11月9日土曜日
  • での使われ方 • プロトタイプをRで作って検証 • PythonやC++で実装 GoogleとFacebookではRをどうやって使っているのか? http://pracmper.blogspot.jp/2010/01/googlefacebookr.html 13年11月9日土曜日
  • 用途で分類 コマンドライン形式(CUI) 実装 実務利用 プロトタイピング 業務専用 ソフト 画面上で操作(GUI) 13年11月9日土曜日
  • 他言語との比較 特徴 価格 統計特化 無料 SAS/ SPSS 統計特化 数十万∼ エクセル 直感的 1万∼ 高速だが 無料∼ C++ 開発コスト高 数万 スクリプト Python 無料 言語 13年11月9日土曜日 大規模データ △ (メモリ依存) ○ 速度 △ ○ (約100万行) 実装次第 ◎ 実装次第 ○
  • こんな方におすすめ • 色々な統計手法を試してみたい方 • エクセルでは物足りない方 • まずは無料で始めてみたい方 13年11月9日土曜日
  • あると望ましいスキル • プログラミングの基礎 • 統計学の知識 • (英語力) 13年11月9日土曜日
  • アジェンダ • 自己紹介とお知らせ • Rって何 • Rの使い方 • Rの資料 13年11月9日土曜日
  • インストール Windows Mac http://cran.md.tsukuba.ac.jp/ Linux 13年11月9日土曜日 http://cran.md.tsukuba.ac.jp/ bin/windows/base/ http://cran.md.tsukuba.ac.jp/
  • Rコンソール起動 13年11月9日土曜日
  • Rコンソール起動 ココに処理を 記述していく 13年11月9日土曜日
  • 処理の記述 3+5 = 8 10-7 = 3 13年11月9日土曜日
  • 解析の流れ データ 処理 レポート 13年11月9日土曜日
  • 解析の流れ 変数 配列 行列 データ 関数 処理 データフレーム CSV 13年11月9日土曜日 自作関数 パッケージ レポート 作図
  • 解析の流れ 変数 配列 行列 データ 関数 処理 データフレーム CSV 13年11月9日土曜日 自作関数 パッケージ レポート 作図
  • ここでは • Rを使ったデータの表現/操作方法につ いて説明します 13年11月9日土曜日
  • 変数 値を入れる箱 > hako <- 10 > hako [1] 10 > hako * 2 [1] 20 13年11月9日土曜日
  • 変数 値を入れる箱 > hako <- 10 > hako 変数に値を入れる 左矢印のイメージ [1] 10 > hako * 2 [1] 20 13年11月9日土曜日 変数に対して 処理(かけ算)
  • 配列 複数の値をまとめる > array <- c(10,20,30) > array [1] 10 20 30 > array * 2 [1] 20 40 60 13年11月9日土曜日
  • 配列 複数の値をまとめる > array <- c(10,20,30) > array [1] 10 20 30 > array * 2 [1] 20 40 60 13年11月9日土曜日 3つの値を 配列に格納 処理は 配列全体に 適用される
  • 配列 各要素へのアクセス > array[1] [1] 10 > array[2] [1] 20 > array[3] [1] 30 13年11月9日土曜日
  • 配列 各要素へのアクセス > array[1] [1] 10 配列[番号]で 1個ずつ値を 取り出せる > array[2] 2個目 [1] 20 > array[3] [1] 30 13年11月9日土曜日 3個目
  • 行列 2次元の配列 > array2 <- matrix(c(10,20,30,   40,50,60), 2, 3) > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 60 13年11月9日土曜日
  • 行列 2次元の配列 > array2 <- matrix(c(10,20,30,   40,50,60), 2, 3) > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 60 13年11月9日土曜日 matrixという 関数を利用して 作る 2行3列の 行列
  • 行列覚え方 http://wakuteka.info/R/110729 より転載 13年11月9日土曜日
  • 行列 各要素の指定 > array2[1,1] [1] 10 > array2[1,] [1] 10 30 50 > array2[,1] [1] 10 20 13年11月9日土曜日
  • 行列 各要素の指定 > array2[1,1] [1] 10 > array2[1,] [1] 10 30 50 > array2[,1] [1] 10 20 13年11月9日土曜日 1行1列を 指定 1行目全体 を指定 1列目全体 を指定
  • 複数の型を持てる データフレーム > sex <- c("F","F","M","M","M") #性別 > height <- c(158,162,177,173,166) #身長 > weight <- c(51,55,72,57,64) #体重 >(x <- data.frame(SEX=sex, HEIGHT=height, WEIGHT=weight) ) SEX HEIGHT WEIGHT 1 F 158 51 2 F 162 55 3 M 177 72 4 M 173 57 5 M 166 64 13年11月9日土曜日
  • 複数の型を持てる データフレーム > sex <- c("F","F","M","M","M") #性別 > height <- c(158,162,177,173,166) #身長 > weight <- c(51,55,72,57,64) #体重 >(x <- data.frame(SEX=sex, HEIGHT=height, WEIGHT=weight) ) SEX HEIGHT WEIGHT 1 F 158 51 2 F 162 55 3 M 177 72 4 M 173 57 5 M 166 64 13年11月9日土曜日 data.frame関数で セット 性別(bool型) 身長、体重(数値型)
  • データフレーム > x$HEIGHT [1] 158 162 177 173 166 > x$HEIGHT[1] [1] 158 > x$HEIGHT[1:3] [1] 158 162 177 13年11月9日土曜日 要素の指定 $で 身長(HEIGHT) を全指定 身長1つめだけ 身長1-3番目
  • ここまで • 変数:1種類の型の値を1つ入れる箱 (スカラー) • 配列:1種類の型の値を複数入れる箱 (ベクトル) • 行列:1種類の型の複数ベクトルをまと めて表現 • データフレーム:複数の型のベクトルを まとめて表現 13年11月9日土曜日
  • 解析の流れ 変数 配列 行列 データ 関数 処理 データフレーム CSV 13年11月9日土曜日 自作関数 パッケージ レポート 作図
  • ここでは • 関数の利用/作成方法 • CSVによるデータ読み込み 13年11月9日土曜日
  • 関数 処理の呼び出し • 関数は複数の処理をまとめたもの • 様々な計算が手軽に実行できる 13年11月9日土曜日
  • 関数 処理の呼び出し 目的 データの結合 C(データ) 合計 sum(データ) 個数を求める length(データ) 平均 mean(データ) 標準偏差 sd(データ) ・・・ 13年11月9日土曜日 関数名と書式 ・・・
  • 関数 合計を求める > array [1] 10 20 30 > sum(array) [1] 60 13年11月9日土曜日
  • 関数 合計を求める > array 先ほどの配列 [1] 10 20 30 > sum(array) 関数名(引数) で処理呼び出し [1] 60 処理結果が 出力される 13年11月9日土曜日
  • 関数 行列も足せる > array2 [,1] [,2] [,3] [1,] 10 30 50 [2,] 20 40 60 > sum(array2) [1] 210 13年11月9日土曜日
  • 関数 行列も足せる > array2 [,1] [,2] [,3] [1,] 10 30 50 先ほどの行列 array2 [2,] 20 40 60 > sum(array2) [1] 210 13年11月9日土曜日 合計値が 表示される
  • 変数 関数 結果を格納 > ret <- sum(array2) > ret [1] 210 13年11月9日土曜日
  • 変数 関数 結果を格納 > ret <- sum(array2) > ret [1] 210 13年11月9日土曜日 合計値の 確認 処理結果を 変数に格納
  • CSV 関数 CSV読み込み • 変数に毎回データを手入力するのは面倒 • CSV形式(カンマ区切り)ファイルを読み 込む関数がある 13年11月9日土曜日
  • CSV 関数 CSV読み込み > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 2 178 14000 3 180 9000 13年11月9日土曜日
  • CSV 関数 CSV読み込み > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 2 178 14000 3 180 9000 13年11月9日土曜日 read.csv関数に hawks.csvという CSVファイルを 渡して 変数に代入
  • CSV 関数 CSV読み込み > hawks <- read.csv("hawks.csv") > hawks height salary 1 173 17000 2 178 14000 3 180 9000 13年11月9日土曜日 CSVファイルの 変数への 読み込みが 確認できる
  • 自作関数 自分で関数を作る • 関数は自分で定義することも可能 • 繰り返し使う処理は自作関数にする 13年11月9日土曜日
  • 関数の書き方 関数名 <- function (引数) { 処理 } 13年11月9日土曜日
  • 自作関数 自分で関数を作る > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) [1] 66.66667 13年11月9日土曜日
  • 自作関数 自分で関数を作る 関数の定義 > varp <- function(x) { retsult <- var(x) * (length(x) - 1) / length(x) retsult } > varp(array) [1] 66.66667 13年11月9日土曜日 処理を記述する 実行
  • ここまで • 組み込み関数:基本的な演算が可能 • CSV:read.csv関数でCSV形式のデ ータを読み込める • 自作関数:自身で関数を定義できる 13年11月9日土曜日
  • 解析の流れ 変数 配列 行列 データ 関数 処理 データフレーム CSV 13年11月9日土曜日 自作関数 パッケージ レポート 作図
  • ここでは • 作図関数 • 外部パッケージの利用方法 13年11月9日土曜日
  • 標準作図関数 作図 • 標準の関数でも色々と作図可能 目的 関数名 ヒストグラム hist 散布図 plot 箱ヒゲ図 boxplot ・・・ ・・・ 参考URL http://cse.naro.affrc.go.jp/takezawa/r-tips/r/50.html 13年11月9日土曜日
  • 作図 標準作図関数 > x <- rnorm(50) > hist(x, breaks=seq(-3, 3,1)) 13年11月9日土曜日
  • 標準作図関数 作図 乱数生成 > x <- rnorm(50) > hist(x, breaks=seq(-3, 3,1)) ヒストグラム 作図関数 13年11月9日土曜日
  • パッケージ 関数をまとめたもの • 複数の関数をまとめたもの • 様々なパッケージがCRANというシステ ムにて無料公開されている • 自作のパッケージも公開できる 13年11月9日土曜日
  • 例 • 作図パッケージggplot2を使えるよう にする 13年11月9日土曜日
  • パッケージ 外部パッケージ 作図 > install.packages( ggplot2 ) > library("ggplot2") 13年11月9日土曜日
  • パッケージ 外部パッケージ 作図 > install.packages( ggplot2 ) > library("ggplot2") パッケージを ロード 13年11月9日土曜日 CRANから パッケージ ダウンロード& インストール
  • パッケージ 作図 a <- 1:10 b <- a^2 qplot(a,b) 13年11月9日土曜日 qplotが利用可能
  • パッケージ qplotが利用可能 作図 a <- 1:10 b <- a^2 qplot(a,b) ggplot2 パッケージ の関数 13年11月9日土曜日
  • パッケージ 参考資料 作図 http://www.slideshare.net/dichika/ggplot2 13年11月9日土曜日
  • パッケージ 紹介:分析用もある 処理 目的 主成分分析 対応分析 クラスター分析 線形回帰分析 生存分析 ニューラルネット ・・・ 13年11月9日土曜日 パッケージ名 stats(組み込み済) MASS stats stats survival nnet ・・・
  • 詳細はこちらの書籍で • 過去にTokyoRでもテキストとして利用 http://amazon.jp/dp/4627096011/ 13年11月9日土曜日
  • ここまで • 作図関数:可視化が可能 • パッケージ:CRANからダウンロード して利用する。作図用や分析用など 色々ある 13年11月9日土曜日
  • Rで一連の分析が可能 データ 処理 レポート 13年11月9日土曜日
  • アジェンダ • 自己紹介とお知らせ • Rって何 • Rの使い方 • Rの資料 13年11月9日土曜日
  • • 日本語の資料 13年11月9日土曜日
  • seekR • R言語用検索エンジン http://seekr.jp/ 13年11月9日土曜日
  • ちなみに • 中の人がTokyoRで発表して下さいました! http://www.slideshare.net/hiratake55/ seekrjp-22281554 13年11月9日土曜日
  • RjpWiki • R言語のWiki http://www.okada.jp.org/RWiki/ 13年11月9日土曜日
  • Rコミュニティ発表資料 • Tokyo.R, Nagoya.R, Tukuba.Rのアーカイブ http://lab.sakaue.info/wiki.cgi/JapanR2010?page=FrontPage 「勉強会発表内容一覧」のリンクから 13年11月9日土曜日
  • RとSQLの対応付け • SQLが分かる人は一読の価値有り http://d.hatena.ne.jp/a_bicky/20110529/1306667230 13年11月9日土曜日
  • • 以下海外のサイト(英語) 13年11月9日土曜日
  • CRAN Task Viws • Rには2000以上パッケージがある • 用途別におすすめパッケージを紹介 http://cran.r-project.org/web/views/ 13年11月9日土曜日
  • R-Chart • Rでの作図のサンプルが多数ある http://www.r-chart.com/ 13年11月9日土曜日
  • まとめ • Rは無料の統計解析ソフト • データ解析からレポートまで利用可能 • Web上の資料も充実 13年11月9日土曜日
  • まとめ • Rは無料の統計解析ソフト • データ解析からレポートまで利用可能 • Web上の資料も充実 是非使ってみましょう! 13年11月9日土曜日
  • ご清聴ありがとうございました 13年11月9日土曜日
  • 質疑応答 13年11月9日土曜日
  • 予備資料 13年11月9日土曜日
  • 連携も可能 プログラミング言語寄り (カスタマイズ可能) .C()関数 RExcel 実務利用 プロトタイピング 業務専用 パッケージ 直感的な操作(用途は限定) 13年11月9日土曜日
  • イケメンツールRStudio 13年11月9日土曜日
  • RStudio資料 http://www.slideshare.net/wdkz/ rstudio-13866958 13年11月9日土曜日
  • 初心者だけど2回目 • 箕田さんの初心者セッション • 集計、条件分岐、ループ、作図など http://www.slideshare.net/ aad34210/tokyo-r30-beginner 13年11月9日土曜日 http://www.slideshare.net/ aad34210/tokyo-r21
  • Tips 13年11月9日土曜日
  • CSV 関数 補足:クリップボード #windowsの場合 >hawks <- read.table("clipboard", header=TRUE,sep=’,’); #macの場合 >hawks <- read.table(pipe("pbpaste"), header=TRUE,sep=’,’) > hawks height salary クリップボードからも 1 173 17000 読み込み可能 2 178 14000 3 180 9000 13年11月9日土曜日
  • CSV 関数 補足2:関数調べ方 > ?read.table > ??read.table >help(read.table) ヘルプを 呼び出すことが 出来る 13年11月9日土曜日
  • CSV 関数 補足2:関数調べ方 > ?read.table > ??read.table >help(read.table) 後半には 用例もあるので 参考に 13年11月9日土曜日