SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
Tokyor23 doradora09
Report
Nobuaki Oshiro
Follow
ヤフー株式会社
May. 26, 2012
•
0 likes
•
2,116 views
1
of
66
Tokyor23 doradora09
May. 26, 2012
•
0 likes
•
2,116 views
Download Now
Download to read offline
Report
Nobuaki Oshiro
Follow
ヤフー株式会社
Recommended
RのffでGLMしてみたけど...
Kazuya Wada
11.2K views
•
30 slides
R高速化
Monta Yashi
12.7K views
•
32 slides
Rのデータ構造とメモリ管理
Takeshi Arabiki
15.2K views
•
22 slides
Rの高速化
弘毅 露崎
38.9K views
•
33 slides
Lisp Tutorial for Pythonista : Day 3
Ransui Iso
3.3K views
•
33 slides
RのffとbigmemoryとRevoScaleRとを比較してみた
Kazuya Wada
23.1K views
•
24 slides
More Related Content
What's hot
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Relations Team
2.5K views
•
43 slides
R3.0.0 is relased
Shintaro Fukushima
4.6K views
•
23 slides
10min r study_tokyor25
Nobuaki Oshiro
1K views
•
39 slides
Nginx lua
Moriyoshi Koizumi
14.3K views
•
34 slides
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
Nagi Teramo
26.3K views
•
58 slides
Rでreproducible research
Shintaro Fukushima
8K views
•
38 slides
What's hot
(19)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Relations Team
•
2.5K views
R3.0.0 is relased
Shintaro Fukushima
•
4.6K views
10min r study_tokyor25
Nobuaki Oshiro
•
1K views
Nginx lua
Moriyoshi Koizumi
•
14.3K views
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
Nagi Teramo
•
26.3K views
Rでreproducible research
Shintaro Fukushima
•
8K views
Goをカンストさせる話
Moriyoshi Koizumi
•
6.4K views
C++でHello worldを書いてみた
firewood
•
6.8K views
String representation in py3k
Atsuo Ishimoto
•
1.1K views
菩薩でもわかる!Rで動かすExcelアドインの作り方
Nagi Teramo
•
5K views
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Takashi J OZAKI
•
24.4K views
これからの「言語」の話をしよう ―― 未来を生きるためのツール
Nobuhisa Koizumi
•
1.3K views
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
Shintaro Fukushima
•
4.5K views
Applicative functor
Yuichi Adachi
•
3.3K views
すごいHaskell楽しく学ぼう 第6章
aomori ringo
•
3.4K views
F#のすすめ
Hiromu Sasaki
•
87 views
a-hisame
•
1.4K views
Intoroduction of Pandas with Python
Atsushi Hayakawa
•
9.7K views
Python で munin plugin を書いてみる
ftnk
•
4.6K views
Similar to Tokyor23 doradora09
10min r study_tokyor25
Nobuaki Oshiro
6.1K views
•
39 slides
第一回Data mining勉強会 -第二章
Tomonobu_Hirano
515 views
•
45 slides
第一回Data mining勉強会 -第二章 - 原案
yushin_hirano
604 views
•
45 slides
第一回ゆるふわーる
Sachiko Hirata
4.1K views
•
11 slides
K010 appstat201201
t2tarumi
315 views
•
23 slides
Rを用いた外国語教育データの整理・要約
Yusaku Kawaguchi
2.1K views
•
124 slides
Similar to Tokyor23 doradora09
(20)
10min r study_tokyor25
Nobuaki Oshiro
•
6.1K views
第一回Data mining勉強会 -第二章
Tomonobu_Hirano
•
515 views
第一回Data mining勉強会 -第二章 - 原案
yushin_hirano
•
604 views
第一回ゆるふわーる
Sachiko Hirata
•
4.1K views
K010 appstat201201
t2tarumi
•
315 views
Rを用いた外国語教育データの整理・要約
Yusaku Kawaguchi
•
2.1K views
初心者講習会資料(Osaka.R#7)
Masahiro Hayashi
•
9.5K views
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
Shin-ya Koga
•
202 views
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
•
3.6K views
HiRoshimaR3_IntroR
SAKAUE, Tatsuya
•
1.9K views
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
•
3.4K views
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
YoheiOkuyama
•
3.1K views
Write good parser in perl
Jiro Nishiguchi
•
2.9K views
Rが苦手な人にもRを使って頂くために~RcommanderとRook~
Kazuya Wada
•
5.3K views
GNU awk (gawk) を用いた Apache ログ解析方法
博文 斉藤
•
6.6K views
Python standard 2022 Spring
anyakichi
•
205 views
Rあんなときこんなとき(tokyo r#12)
Shintaro Fukushima
•
5.6K views
Programming camp 2008, Codereading
Hiro Yoshioka
•
292 views
DTrace for biginners part(2)
Shoji Haraguchi
•
962 views
研究生のためのC++ no.2
Tomohiro Namba
•
427 views
More from Nobuaki Oshiro
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
Nobuaki Oshiro
1.4K views
•
43 slides
20170909 reafletでお手軽可視化 on_r_20分ver_up用
Nobuaki Oshiro
1.4K views
•
51 slides
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
Nobuaki Oshiro
897 views
•
36 slides
20170707 rでkaggle入門
Nobuaki Oshiro
4.5K views
•
77 slides
20170312 r言語環境構築&dplyr ハンズオン
Nobuaki Oshiro
1.1K views
•
36 slides
20161127 doradora09 japanr2016_lt
Nobuaki Oshiro
8.4K views
•
33 slides
More from Nobuaki Oshiro
(20)
20181117_データ分析プロジェクトの流れを理解する_PDCAとKPIツリー
Nobuaki Oshiro
•
1.4K views
20170909 reafletでお手軽可視化 on_r_20分ver_up用
Nobuaki Oshiro
•
1.4K views
20170826 fukuoka.r告知_reafletでお手軽可視化_on_r
Nobuaki Oshiro
•
897 views
20170707 rでkaggle入門
Nobuaki Oshiro
•
4.5K views
20170312 r言語環境構築&dplyr ハンズオン
Nobuaki Oshiro
•
1.1K views
20161127 doradora09 japanr2016_lt
Nobuaki Oshiro
•
8.4K views
10分で分かるr言語入門ver2.15 15 1010
Nobuaki Oshiro
•
3.2K views
10分で分かるr言語入門ver2.14 15 0905
Nobuaki Oshiro
•
2.2K views
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
•
9.6K views
15 0117 kh-coderご紹介 for R users
Nobuaki Oshiro
•
3.5K views
15 0117 kh-coderご紹介
Nobuaki Oshiro
•
862 views
15 0117 r言語活用事例-外部公開用
Nobuaki Oshiro
•
3.1K views
10分で分かるr言語入門 短縮バージョン 15-0117_upload用
Nobuaki Oshiro
•
9K views
10分で分かるr言語入門ver2.8 14 0712
Nobuaki Oshiro
•
3K views
10分で分かるr言語入門ver2.7
Nobuaki Oshiro
•
7.2K views
10分で分かるr言語入門ver2 6
Nobuaki Oshiro
•
9.8K views
10分で分かるr言語入門ver2.5
Nobuaki Oshiro
•
36.6K views
10分で分かるr言語入門ver2.4
Nobuaki Oshiro
•
3.9K views
Doradora09 lt tokyo_r33
Nobuaki Oshiro
•
1.4K views
10分で分かるr言語入門ver2.3
Nobuaki Oshiro
•
3.1K views
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企画ということで今日はシングルト ンを持ってきました ● あとカシスもあります。懇親会でどうぞ。 ※画面はイメージですがだいたい合ってる
8.
そろそろ本題へ
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 ● インストーラーをダウンロード後、ダブルク リックで起動してください
16.
インストール画面
17.
インストール画面
18.
インストール画面
19.
インストール画面
20.
インストール画面
21.
インストール画面
22.
インストール画面
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”)
57.
画面の例(mac版)
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
66.
ご清聴ありがとうございました!