Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Tokyo r33 beginner
Report
Takashi Minoda
Follow
Yahoo! JAPAN
Aug. 31, 2013
•
0 likes
3 likes
×
Be the first to like this
Show More
•
17,799 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Check these out next
10分で分かるr言語入門ver2.14 15 0905
Nobuaki Oshiro
10分で分かるr言語入門ver2.15 15 1010
Nobuaki Oshiro
R入門(dplyrでデータ加工)-TokyoR42
Atsushi Hayakawa
Tokyo r39 beginner
Takashi Minoda
Yamadai.R チュートリアルセッション
考司 小杉
Tokyo r21 修正版
Takashi Minoda
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
はじめての「R」
Masahiro Hayashi
1
of
39
Top clipped slide
Tokyo r33 beginner
Aug. 31, 2013
•
0 likes
3 likes
×
Be the first to like this
Show More
•
17,799 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Takashi Minoda
Follow
Yahoo! JAPAN
Advertisement
Advertisement
Advertisement
Recommended
Tokyo r47 beginner_2
Takashi Minoda
3.1K views
•
33 slides
Tokyo r28 1
Takashi Minoda
1.3K views
•
37 slides
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
3.6K views
•
105 slides
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
9.6K views
•
99 slides
Tokyo r30 beginner
Takashi Minoda
16.5K views
•
29 slides
Tokyo r50 beginner_2
Takashi Minoda
4.7K views
•
36 slides
More Related Content
Slideshows for you
(20)
10分で分かるr言語入門ver2.14 15 0905
Nobuaki Oshiro
•
2.2K views
10分で分かるr言語入門ver2.15 15 1010
Nobuaki Oshiro
•
3.2K views
R入門(dplyrでデータ加工)-TokyoR42
Atsushi Hayakawa
•
19.1K views
Tokyo r39 beginner
Takashi Minoda
•
3.2K views
Yamadai.R チュートリアルセッション
考司 小杉
•
9.7K views
Tokyo r21 修正版
Takashi Minoda
•
2.4K views
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
•
3.4K views
はじめての「R」
Masahiro Hayashi
•
239.5K views
R による文書分類入門
Takeshi Arabiki
•
30.6K views
Tokyor60 r data_science_part1
Yohei Sato
•
6K views
2017年3月版データマエショリスト入門
Yuya Matsumura
•
1.5K views
2017年3月版データマエショリスト入門(誤植修正版)
Yuya Matsumura
•
1.7K views
10分で分かるr言語入門ver2.5
Nobuaki Oshiro
•
36.6K views
Gensim
saireya _
•
55.2K views
普通のプログラミング言語R
Shuyo Nakatani
•
5.1K views
HiroshimaR4_LT_sakaue
SAKAUE, Tatsuya
•
866 views
MP Joinを使った類似データ抽出
JAVA DM
•
2K views
20161127 doradora09 japanr2016_lt
Nobuaki Oshiro
•
8.3K views
rstanで個人のパラメーターを推定した話
Yuya Matsumura
•
6K views
データ解析技術入門(R編)
Takumi Asai
•
11.3K views
Viewers also liked
(20)
Tokyo r30 anova
Takashi Minoda
•
15.2K views
Tokyor42_r_datamining_18
Yohei Sato
•
13.2K views
Tokyor42 ggplot2
Yohei Sato
•
20.4K views
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
Nagi Teramo
•
34.8K views
Tokyo.R#16 wdkz
Kazuya Wada
•
7.3K views
d3jsハンズオン @E2D3ハッカソン
圭輔 大曽根
•
3K views
RとJavaScript Visualizationを俯瞰しよう
Yasuyuki Sugai
•
10.7K views
第2回関西ゼロから始めるR言語勉強会
Iida Keisuke
•
2.5K views
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
Yasuyuki Sugai
•
21K views
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
Koichi Hamada
•
18.4K views
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
Koichi Hamada
•
20.4K views
Rで潜在ランク分析
Hiroshi Shimizu
•
6.6K views
20170923 excelユーザーのためのr入門
Takashi Kitano
•
3.7K views
Rcppのすすめ
Masaki Tsuda
•
14K views
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
Shuyo Nakatani
•
3.5K views
Mxnetで回帰 #TokyoR 53th
Akifumi Eguchi
•
5.7K views
Dummiesパッケージ
weda654
•
16.2K views
20140625 rでのデータ分析(仮) for_tokyor
Takashi Kitano
•
2.7K views
20150303ぞくパタLT-ゆるふわ構造学習
Toru Imai
•
4.8K views
データサイエンティスト必見!M-1グランプリ
Satoshi Kitajima
•
24.8K views
Advertisement
Similar to Tokyo r33 beginner
(20)
Tokyo r45 beginner_2
Takashi Minoda
•
8.5K views
Tokyo r24 r_graph_tutorial
Takashi Minoda
•
2.3K views
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
mametter
•
34.4K views
for関数を使った繰り返し処理によるヒストグラムの一括出力
imuyaoti
•
12.2K views
ggplot2をつかってみよう
Hiroki Itô
•
5.1K views
Tokyo r27
Takashi Minoda
•
854 views
文献紹介:Extreme Low-Resolution Activity Recognition Using a Super-Resolution-Ori...
Toru Tamaki
•
22 views
Rによるデータ整形入門 Introduction to Data Transformation with R
Yukihiro NAKAJIMA
•
3.3K views
GNU awk (gawk) を用いた Apache ログ解析方法
博文 斉藤
•
6.5K views
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V6
Shunsuke Nakamura
•
598 views
⑰jQueryをおぼえよう!その3
Nishida Kansuke
•
1.2K views
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
Nagi Teramo
•
26.2K views
パフォーマンスの良いGASの書き方 Best Practice
啓介 大橋
•
16.1K views
Go言語のスライスを理解しよう
Yasutaka Kawamoto
•
31.3K views
R language definition3.1_3.2
Yoshiteru Kamiyama
•
907 views
㉗HTML5+jQueryでお絵かき
Nishida Kansuke
•
3.7K views
HiRoshimaR3_IntroR
SAKAUE, Tatsuya
•
1.9K views
genuine-highlighter: マクロを認識するClojure向けのシンタックスハイライター
sohta
•
2.9K views
拡張ライブラリ作成による高速化
Kazunori Jo
•
1.4K views
Tokyor23 doradora09
Nobuaki Oshiro
•
2.1K views
More from Takashi Minoda
(16)
Introduction r (R入門)
Takashi Minoda
•
652 views
RStudioでRをはじめよう(R for Beginner using RStudio)
Takashi Minoda
•
986 views
RからGoogle Cloud Vision API を利用する
Takashi Minoda
•
1.4K views
TokyoR:RMarkdownでレポート作成
Takashi Minoda
•
3.6K views
Rとデータベース 第61回 Tokyo.R
Takashi Minoda
•
1K views
Tokyo r49 beginner
Takashi Minoda
•
7K views
Tokyo r47 beginner
Takashi Minoda
•
2.5K views
Tokyo r30 anova_part2
Takashi Minoda
•
9.7K views
Tokyo r21 2
Takashi Minoda
•
2.8K views
Tokyo r18
Takashi Minoda
•
16.2K views
Tokyo r sqldf
Takashi Minoda
•
2.8K views
ggplot2 110129
Takashi Minoda
•
6.1K views
ggplot2 110129
Takashi Minoda
•
1.7K views
Japan r 101127
Takashi Minoda
•
1K views
Tokyo r r_excel
Takashi Minoda
•
912 views
Tokyo r no8_海外サイトの紹介
Takashi Minoda
•
1.6K views
Advertisement
Tokyo r33 beginner
<#> 続 はじめての TOKYO.R #33 簑田 高志
目次 1. 自己紹介 2. 前回までのあらすじ 3.
続・はじめてのR 4. まとめ ※ スクリーンショットや機能等はMac版となります。
• 名前 :簑田
高志 • Twitter :aad34210 • ブログ :http://pracmper.blogspot.com/ • 出身地 :熊本県 • 出身学部 :法学部 • 仕事 :インターネット広告のビジネスアナリ スト 自己紹介
前回までのあらすじ • はじめてRをさわる方、Rを触り初めて数カ月の方に向 けて、Rの基礎的な部分をお話ししました。 • どんな内容だったかというと… 1.
インストール 2. 起動と終了 3. demo()の利用 4. データへのアクセス方法 5. データ集計方法 6. 関数 7. 自作関数(Function) 8. パッケージ • 前回の資料はSlideshareに公開しています。 http://www.slideshare.net/aad34210/tokyo-r18
今回の話 • 今回の話は前回の続き。 • Rの基礎編です。 i.
条件分岐 ii. ループ iii.グラフ作成 iv.統計解析 • 資料中は、コードと例文を以下のようにハイライト しています。 • 基本コード:Sample • 例文: Sample
そんな話を知ってるよ!という方は… • 私は初心者ではないので、そんな話 は聞かなくても大丈夫!という方。 • そういう方は… この本をAmazonで注文し ておいてください。 今日のTokyoRに参加している人が! 持ってくるとサインもらえるかも?!
そんな話を知ってるよ!という方は… • 最近はこういう本も出されたようで … ¥2,079 by
Amazon • 持ってくるとサインを貰えるかも。
<#> 条件分岐
条件分岐 • ある条件で場合分けをしたい場合に利用する。 値:A 条件 値:Z 値:K A
>= 0 → K A < 0 → Z
条件分岐 • 条件分岐とは? • ある条件で場合分けをしたい場合はIf文、Else文を使う。 •
if (条件文){処理内容} • 例えば… • 売上金額が10万以上であれば、A-Class、それ以外はOther。 x <- 100000 if (x >= 100000) {print ("A-Class")} else {print("Other")}
条件分岐 • IFELSE文 • IFELSE文で一つのコードでIF文ができる。 •
ifelse(条件,データが真の場合,偽の場合) • 例えば… • 売上金額が10万以上であれば、Aクラス、それ以外はOther。 x <- 100000 ifelse(x >= 100000 , "A-Class" , "B-Class")
条件分岐 • SWITCH文 • 複数の条件で分岐させたい場合 •
switch(データ,ケース1 , ケース2 , 一致する場合がないケース) • 例えば… • Tokyoから売上が上がっている場合は、Japanを。それ以外はOther city <- "Tokyo” switch(city ,"Tokyo" = print("Japan") , print("Other"))
<#> ループ
ループ • For文は他のプログラミング言語と同じように、「繰り返し」処理ができ る。 • 幾つもの同じような処理をコピペして処理をさせなくても、ループ処理 を利用することにより、大幅に作業時間を減らすことができる。 処理A 処理A
処理A 処理A 処理A 4回同じ処理を繰り返す 繰り返し文を利用 して処理を4回行 う。
FOR文 • For文 • ある処理を繰り返し行いたい場合に利用する。 •
for (ループ変数 in リスト) {処理} • 例えば… • 1〜5までを合計する。 • ベクトルを表示させる。 x <- 0 for (i in 1:5) {x <- x +1} x x <- c(10000 , 20000 , 30000) for (i in 1:length(x)){print(x[i])}
WHILE文 • While文 • ある条件が成り立っている場合にずっとループ処理をし続ける。 •
注意:ずっと条件が成り立っている場合は、無限ループしてしまう ので、気をつけること。 • while (条件式) {処理} • 例えば… • 5以下を足し続ける。 x <- 0 while (x <= 4) {x <- x +1} x
例題(1) • IF文(条件分岐)、For文(繰り返し)、Function(自作関数(前回説 明))を組み合わせると、処理がまとまり、関数化することができる。 • →
処理の自動化が可能。 for (i in 1:100) {print(ifelse( i%%2 == 0 , "Fizz" , i ))} • 問題 • 1〜100までの数字の中で、2の倍数であれば、“Fiz”、それ以外は数を 表示するプログラムを作成しなさい。 • 回答 • For文で1:100までをベクトル生成 • 2の倍数:“%%”で余りを計算 • 2の倍数の余りをIFELSE文で判定。 • Print文で表示
例題(2) • 前のページの問題は意外とすぐにとける • 問題 •
1〜100までの数字の中で、 • 3の倍数 :“Aho” と表示 • 5 の倍数 :“アホ” と表示 • 回答 • For文で1:100までをベクトル生成 • 3の倍数:“%%”で余りを計算し割り切れる数を判定 • 5の倍数:“%%”で余りを計算し割り切れる数を判定 • それぞれIF文で“Aho”か“アホ”か判定 • Print文で表示 • では、世界のナベアツでやってみよう。
例題(3) for( i in
1:100) { if (i%%3 == 0 ) {print("Aho")} else if (i%%5 == 0) {print("アホ")} else {print(i)} } nabeatsu <- function(n , baisuu1 , baisuu2) { for( i in 1:n) { if (i%%baisuu1 == 0 ) {print("Aho")} else if (i%%baisuu2 == 0) {print("アホ")} else {print(i)} } } 関数化(Function)にしてみよう。 利用する変数 ・ベクトル数 :n ・Ahoと表示する倍数 :baisuu1 ・アホと表示する倍数 :baisuu2
例題(3)本当の世界のナベアツを実装してみた • 問題で使ったナベアツ問題 • 1〜100までの数字の中で、 •
3の倍数 :“Aho” と表示 • 5 の倍数 :“アホ” と表示 • 本当のナベアツは… • 1〜100までの数字の中で、 • 3の倍数 :“Aho” と表示 • 3のつく倍数 :“アホ” と表示 3のつく倍数をアホに しなきゃいけない • 数字のベクトルであれば「%%」を利用することで、判定が可能。 • でも「3がつく数」ってどう判定するのか? • → grepを利用して判定すれば良いかも。
例題(3)本当の世界のナベアツを実装してみた # 3の倍数はアホ、3の着く数字はAho true_nabeatsu <-
function(n , baisuu1 , baisuu2) { for( i in 1:n) { if (i%%baisuu1 == 0 ) {print("Aho")} else if (!i%%baisuu2|grepl(baisuu2,i) == TRUE) {print("アホ")} else {print(i)} } } true_nabeatsu(100 , 5 , 3) • 問題 • 1〜100までの数字の中で、 • 3の倍数 :“Aho” と表示 • 3がつく数 :“アホ” と表示
<#> グラフ作成
グラフ作成 • データを解析する前に、変数がどのような分布になっているかをビジュ アルで確認して、データの分布等を確かめる。 • 結果をレポートとしてまとめ、レビュアー(報告者)への理解を深める ためにグラフを作成する。 •
グラフ作成は「奥が深い」ため、今回は代表的なグラフのみ紹介して、 残りのパッケージ等はAppendixとして紹介します。 1,2,3, 4,5,6, 7,8,9 … データ Sepal.Length 2.0 2.5 3.0 3.5 4.0 0.5 1.0 1.5 2.0 2.5 4.55.56.57.5 2.02.53.03.54.0 Sepal.Width Petal.Length 1234567 4.5 5.5 6.5 7.5 0.51.01.52.02.5 1 2 3 4 5 6 7 Petal.Width Edgar Anderson's Iris Data -35-30-25-20-15-10 165 170 175 180 185 165 170 175 180 185 165 170 175 180 185 -35-30-25-20-15-10 long lat 100 200 300 400 500 600 Given : depth 1 2 3 4 5 6 7 8 9 10 0246 Notched Boxplots Group
散布図 • データがどのような散らばり具合をしているのかを調査したい場合、散 布図を描きます。 • plot(x
, y) #ベクトルの表示 data <- c(1:100) plot(data) #irisのSepal.lengthとSepal.Widthの散布図 plot(iris[,1] , iris[,2]) 0 20 40 60 80 100 020406080100 Index data #ベクトルの表示 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 2.02.53.03.54.0 iris[, 1] iris[,2] #irisのSepal.lengthと Sepal.Widthの散布図
散布図 • 変数が多くある場合、変数の1つずつの組み合わせだと手間がかかるので、 一気に組み合わせてみてみたい場合。 • plot(dataframe) •
pars(dataframe) #複数変数の散布図組合せ(対散布図) plot(iris[-5]) #複数変数の対散布図(種類による色分け) pairs(iris[1:4], pch = 21,bg = c("red" , "green3" , "blue")[unclass(iris$Species)])
Sepal.Length 2.0 2.5 3.0
3.5 4.0 0.5 1.0 1.5 2.0 2.5 4.55.56.57.5 2.02.53.03.54.0 Sepal.Width Petal.Length 1234567 4.5 5.5 6.5 7.5 0.51.01.52.02.5 1 2 3 4 5 6 7 Petal.Width 散布図 Sepal.Length 2.0 2.5 3.0 3.5 4.0 0.5 1.0 1.5 2.0 2.5 4.55.56.57.5 2.02.53.03.54.0 Sepal.Width Petal.Length 1234567 4.5 5.5 6.5 7.5 0.51.01.52.02.5 1 2 3 4 5 6 7 Petal.Width #複数変数の散布図組合せ(対散布図) #複数変数の対散布図(種類による色分け)
線グラフ(折れ線グラフ) • データがどのように変化しているのかを分かるようにする。 • 実は折れ線グラフは散布図にラインを引いただけなので比較的簡単に作 成できます。(type
= “l”を指定) • plot(データ , type = “l”) #aho_dataを使って折れ線グラフ plot(aho_data[,1] , type = "l”) 0 20 40 60 80 100 020406080100 Index aho_data[,1]
棒グラフ(1) • データがどの因子でどのぐらいボリュームになっているかを一目で分か る。 • barplot(データ) #単純な棒グラフ barplot(1:10) #色つき棒グラフ barplot(matrix(1:20,
5), col=rainbow(5)) 0246810 #単純な棒グラフ 020406080 #色つき棒グラフ
棒グラフ(2) • データがどの因子でどのぐらいボリュームになっているかを一目で分か る。 • barplot(データ) #種類ごとでの棒グラフ barplot(table(iris[,5])) #色を付けたい場合 barplot(table(iris[,5]),col
= c("red" , "green" ,"yellow")) #単純な棒グラフ #色つき棒グラフ setosa versicolor virginica 01020304050 setosa versicolor virginica 01020304050
aho 01020304050 棒グラフ(3) • 先ほどの“Aho”、“アホ”をそれぞれカウントして棒グラフを作ってみま しょう。 #データフレームの作成 aho_data <-
data.frame(1:100) #グラフ用データの作成 aho_data$hantei <- ifelse(aho_data[,1]%%3 == 0,"aho",ifelse(aho_data[,1]%%5 == 0 ,"アホ","天才 ")) #Barplotの作成 barplot(table(aho_data[,2]) , col = c("green" , "blue" , "red"))
参考(1):ggplot2 • これまで紹介したのはRのデフォルトで利用できるパッケージ。 • 自分で色々と細かく設定できるのがメリットですが、簡単に綺麗なグラ フを書きたい場合は、ggplot2というパッケージがおすすめ。 •
過去に発表しています。 • http://www.slideshare.net/aad34210/ggplot2-110129-6739813
参考(2):demo() • demo()という関数を利用することで、パッケージの参照デモをみること ができます。 #demo()のgraphicsを見てみる demo(graphics) Sepal.Length 2.0 2.5
3.0 3.5 4.0 0.5 1.0 1.5 2.0 2.5 4.55.56.57.5 2.02.53.03.54.0 Sepal.Width Petal.Length 1234567 4.5 5.5 6.5 7.5 0.51.01.52.02.5 1 2 3 4 5 6 7 Petal.Width Edgar Anderson's Iris Data -35-30-25-20-15-10 165 170 175 180 185 165 170 175 180 185 165 170 175 180 185 -35-30-25-20-15-10 long lat 100 200 300 400 500 600 Given : depth 1 2 3 4 5 6 7 8 9 10 0246 Notched Boxplots Group
参考(3):グラフサンプル集 • ネット上では有益なサンプル集がありますので、それを利用しない手は ありません。 ■R Graphical
Manual http://rgm2.lab.nig.ac.jp/RGM2/images.php?show=all&pageID=1958 • 過去に発表しています。 • http://www.slideshare.net/aad34210/tokyo-r-no8
<#> 統計解析
統計解析 • グラフ作成と同様に奥のふかーい分野。 • 今回はデータ全体がどのような分布になっているかを簡単に調査するための関数を紹 #最大値 max(aho_data[,1]) #最小値 min(aho_data[,1]) #レンジ(最大値、最小値) range(aho_data[,1]) #平均 mean(aho_data[,1]) #中央値 median(aho_data[,1]) #四分位点 quantile(aho_data[,1]
) #サマリ(平均値、中央値、四分位点) summary(aho_data[,1]) 各種統計パッケージの話は、過去や今後のTokyoRで見てみてください!
<#> まとめ
まとめ • IF文 • 条件分岐をさせたい時に利用する。ifelse
も使えるよ • For文 • 繰り返し処理を行いたい場合に利用する。 • 条件が正の場合に繰り返し処理をするWhileもある。 • FizzBuzz • IF文とFor文を使って、FizzBuzz問題を解く。 • 世界のナベアツもできるよ! • グラフ作成 • 奥の深い世界… • demo(graphics)で試してみよう。 • plot,barplot • ggplot2など様々なパッケージがある。 • 統計解析 • 簡単な関数で、統計量を計算することができる。 • max,min,range,quantile,summary
参考文献・資料 R-Tipe :http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html The R
tips :http://ow.ly/9yFPs ggplot2 :http://had.co.nz/ggplot/
ご清聴ありがとうございました m(___)m
Advertisement