SlideShare ist ein Scribd-Unternehmen logo
1 von 48
CodeIQ×JapanR


          2012/12/01
         @doradora09
アジェンダ
•   自己紹介
•   CodeIQ コラボ企画
•   問題と解答例
•   回答の傾向
アジェンダ
•   自己紹介
•   CodeIQ コラボ企画
•   問題と解答例
•   回答の傾向
自己紹介
• 氏名:大城信晃
• Twitter: doradora09
• 職業: Web エンジニ
  ア
• R:勉強中
• 趣味:
  – カクテル作り
  – カメラ始めました
• 本日の懇親会幹事
TokyoR
• TokyoR で主に運営側で参加
• 最近は初心者用セッションも発表させて
  いただいています

     10 分で分かる R 言語入門 ver2.1
http://www.slideshare.net/akiaki5516/10rver21
アジェンダ
•   自己紹介
•   CodeIQ とは
•   問題と解答例
•   回答の傾向
CodeIQ とは
CodeIQ | IT エンジニアのための実務スキル評価サー
                  ビス
        https://codeiq.jp/
色々な言語の課題があります
Rの問題を出題させて頂きました
       !
   https://codeiq.jp/ace/doradora09/
目的
• CodeIQ を知ってもらう
• Rの布教
 – R初心者を想定した問題
目的
• CodeIQ を知ってもらう
• Rの布教
 – R初心者を想定した問題



   「 R ではじめる株価
   分析」
アジェンダ
•   自己紹介
•   CodeIQ コラボ企画
•   問題と解答例
•   回答の傾向
問題と解答例、その前に
• 問題の回答期限が
         12/3( 月 ) AM 10:00
• ですので、
• 今回の発表の内容は非公開でお願いしま
  す

• 今日の発表を聞いて問題にチャレンジさ
  れる分にはOKです
概要
• R を用いて株価データを取得しプロット
  する問題です
• 課題は1-3まであります
• 株価取得には RFinanceYJ パッケージ ( 外
  部パッ ケージ ) を利用します
RFinanceYJ
• ヤフーファイナンスから株価情報を取得
  するパッケージ
http://cran.r-project.org/web/packages/RFinanceYJ/index.html
RFinanceYJ
• ヤフーファイナンスから株価情報を取得
  するパッケージ
http://cran.r-project.org/web/packages/RFinanceYJ/index.html
RFinanceYJ
• 名前載ってて驚き
• (昔 5% くらいだけ手伝った記憶が・・)
【事前準備】
• 以下の 2 社の株価データを取得してくだ
  さい。
  1. ディー・エヌ・エー (2432.t)
 2. グリー (3632.t)
   なおデータを取得する期間は 2012 年 1
  月 4 日から現在の日付までとします。
【事前準備】
install.packages(‘RFinanceYJ’)
library('RFinanceYJ')

dena <- quoteStockTsData('2432.t', '2012-01-04')
gree <- quoteStockTsData('3632.t', '2012-01-04')



(CRAN ミラーサーバは Japan(Tokyo) を選択 )
【課題1】
• 【事前準備】で取得した2社のデータを
  それぞれ 2012 年 1 月 4 日から 5 件表示し
  て 下さい。
【課題1】 head 関数を利用
head(dena, 5)
head(gree, 5)

> head(dena, 5)
     date open height low close volume adj_close
229 2012-01-04 2321 2325 2285 2292 2077200         2292
228 2012-01-05 2288 2290 2217 2222 2882400         2222
227 2012-01-06 2235 2238 2111 2117 5601200         2117
226 2012-01-10 2092 2099 2000 2027 5049000         2027
225 2012-01-11 2005 2060 1891 1899 9326000         1899
【課題1】5行指定で表示
dena[1:5,]
gree[1:5,]

> dena[1:5,]
     date open height low close volume adj_close
229 2012-01-04 2321 2325 2285 2292 2077200         2292
228 2012-01-05 2288 2290 2217 2222 2882400         2222
227 2012-01-06 2235 2238 2111 2117 5601200         2117
226 2012-01-10 2092 2099 2000 2027 5049000         2027
225 2012-01-11 2005 2060 1891 1899 9326000         1899
【課題 2 】
• 【事前準備】で取得した 2 社のデータの終
  値 (close) を時系列でプロットしてくださ
  い。
• 補足:
 – 可能であれば比較しやすいように図を重ね合わ
   せて描画してください
【課題 2 】プロット
matplot(x=as.Date(dena$date),
        y=cbind(dena$close, gree$close),
        pch = 1:2)
【課題 2 】折れ線グラフにする
matplot(x=as.Date(dena$date),
        y=cbind(dena$close, gree$close),
        pch = 1:2, type = "o")
【課題 3 】
• データを比較しやすいように 2012 年 1 月
  4 日の終値を1として、再度プロットして
  ください。
【課題 3 】
matplot(x=as.Date(dena$date),      
        y=cbind(dena$close/dena$close[1],
                 gree$close/gree$close[1]),
        pch = 1:2, type = "o")
あとは見やすくする
• ここまでで大体 3点程度 ( 5点満点 )
• あとは軸と凡例等の見易さで加点
【各軸のタイトル追加】
matplot(x=as.Date(dena$date),      
        y=cbind(dena$close/dena$close[1],
                gree$close/gree$close[1]),
        pch = 1:2, type = "o”
        xlab='date' , ylab=”per_close", main = 'dena vs gree')
【日付追加】
d <- format(dena$date,"%m/%d")
dena.c <- dena$close/dena$close[1]
gree.c <- gree$close/gree$close[1]
par(xaxt="n")
matplot(
      y=cbind(dena.c, gree.c),
      pch = 1:2, type = "o",
      xlab='date' , ylab="per_close", main = 'dena vs gree')
par(xaxt="s")
axis(1,at=1:length(d),labels=d)
【日付追加】
d <- format(dena$date,"%m/%d")
dena.c <- dena$close/dena$close[1]
gree.c <- gree$close/gree$close[1]
par(xaxt="n")
matplot(
      y=cbind(dena.c, gree.c),
      pch = 1:2, type = "o",
      xlab='date' , ylab="per_close", main = 'dena vs gree')
par(xaxt="s")
axis(1,at=1:length(d),labels=d)
【凡例追加】
d <- format(dena$date,"%m/%d")
dena.c <- dena$close/dena$close[1]
gree.c <- gree$close/gree$close[1]
par(xaxt="n")
matplot(
      y=cbind(dena.c, gree.c),
      pch = 1:2, type = "o",
      xlab='date' , ylab="per_close", main = 'dena vs gree')
par(xaxt="s")
axis(1,at=1:length(d),labels=d)
axis(4,c(tail(dena.c,1),tail(gree.c,1)),c("DeNA","GREE"))
【凡例追加】
d <- format(dena$date,"%m/%d")
dena.c <- dena$close/dena$close[1]
gree.c <- gree$close/gree$close[1]
par(xaxt="n")
matplot(
      y=cbind(dena.c, gree.c),
      pch = 1:2, type = "o",
      xlab='date' , ylab="per_close", main = 'dena vs gree')
par(xaxt="s")
axis(1,at=1:length(d),labels=d)
axis(4,c(tail(dena.c,1),tail(gree.c,1)),c("DeNA","GREE"))
評価基準
• 以下の項目が評価基準になります
 – 重ねてのプロット
 – 各軸の項目名
 – 日付
 – 折れ線グラフ
 – 凡例
アジェンダ
•   自己紹介
•   CodeIQ コラボ企画
•   問題と解答例
•   回答の傾向
得点( 12 人中)
 点数     人数

 5      4

 4      6

 3      1

 2      1
得点(のべ 25 人中)
  点数    人数

  5      9
  4      12
   3     2
  2      1
  1      0
   0     1
プロット関数の種類( 12 人中)

     関数       人数

     plot     7

    ts.plot   3

    ggplot2   2

    matplot   0
プロット関数の種類(のべ 25 人
      中)
     関数       人数

      plot    16

    ggplot2   4

    ts.plot   3

    Matplot   1

    未解答       1
解答例 (plot)
解答例 (ts.plot)
解答例 (ggplot2)
まとめ
• 今回の問題が解けるとRを使って
 – 株価データ取得
 – 2つのデータを比較
 – 軸や凡例付きの作図
といった基本的な利用が出来るようになり
 ます
まだまだ受付中!
        12/3( 月 ) AM 10:00
 までチャレンジ受け付けてますので
是非 CodeIQ にチャレンジしてみてくだ
               さい!
ご清聴ありがとうございました
質疑応答
予備資料
問題
• 【概要】 R を用いて株価データを取得しプロットする問題です。
  株価データの取得には CRAN に登録されている RFinanceYJ パッケ
  ージ ( 外部パッ ケージ ) を利用します。
•  【事前準備】 RFinanceYJ パッケージをインストールしてくださ
  い。 また RFinanceYJ パッケージの quoteStockTsData を使って
  以下の 2 社の株価データを取得してください。
• 1. ディー・エヌ・エー (2432.t) 2. グリー (3632.t) なおデータを取
  得する期間は 2012 年 1 月 4 日から現在の日付までとします。
• 【課題1】 【事前準備】で取得した2社のデータをそれぞれ 2012
  年 1 月 4 日から 5 件表示して 下さい。データを表示したらデータ
  取得から表示までのコードを 提出して下さい。
•  【課題 2 】 【事前準備】で取得した 2 社のデータの終値 (close)
  を時系列でプロットしてくだ さい。プロットしたらそのコードを
  提出してください。
• 【課題 3 】 データを比較しやすいように 2012 年 1 月 4 日の終値を
  1として、再度プロットして ください。プロットしたらそのコー
  ドを提出してください。

Weitere ähnliche Inhalte

Ähnlich wie Code iq×japanr 公開用

Learning to rank for IR
Learning to rank for IRLearning to rank for IR
Learning to rank for IR
takaya imai
 
TokyoR24 - PerformanceRvsC#
TokyoR24 - PerformanceRvsC#TokyoR24 - PerformanceRvsC#
TokyoR24 - PerformanceRvsC#
ta2c
 
ngx_small_light at 第2回闇鍋プログラミング勉強会
ngx_small_light at 第2回闇鍋プログラミング勉強会ngx_small_light at 第2回闇鍋プログラミング勉強会
ngx_small_light at 第2回闇鍋プログラミング勉強会
Tatsuhiko Kubo
 
Intoroduction of Pandas with Python
Intoroduction of Pandas with PythonIntoroduction of Pandas with Python
Intoroduction of Pandas with Python
Atsushi Hayakawa
 
巨大な表を高速に扱うData.table について
巨大な表を高速に扱うData.table について巨大な表を高速に扱うData.table について
巨大な表を高速に扱うData.table について
Haruka Ozaki
 
K010 appstat201201
K010 appstat201201K010 appstat201201
K010 appstat201201
t2tarumi
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
Tomonobu_Hirano
 

Ähnlich wie Code iq×japanr 公開用 (20)

Tokyo r27
Tokyo r27Tokyo r27
Tokyo r27
 
Tokyo r50 beginner_2
Tokyo r50 beginner_2Tokyo r50 beginner_2
Tokyo r50 beginner_2
 
Learning to rank for IR
Learning to rank for IRLearning to rank for IR
Learning to rank for IR
 
TokyoR24 - PerformanceRvsC#
TokyoR24 - PerformanceRvsC#TokyoR24 - PerformanceRvsC#
TokyoR24 - PerformanceRvsC#
 
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
 
KDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フローKDDI Business ID におけるアジャイル開発と検証フロー
KDDI Business ID におけるアジャイル開発と検証フロー
 
ngx_small_light at 第2回闇鍋プログラミング勉強会
ngx_small_light at 第2回闇鍋プログラミング勉強会ngx_small_light at 第2回闇鍋プログラミング勉強会
ngx_small_light at 第2回闇鍋プログラミング勉強会
 
Intoroduction of Pandas with Python
Intoroduction of Pandas with PythonIntoroduction of Pandas with Python
Intoroduction of Pandas with Python
 
Tokyo r30 beginner
Tokyo r30 beginnerTokyo r30 beginner
Tokyo r30 beginner
 
Lt会01_uetch
Lt会01_uetchLt会01_uetch
Lt会01_uetch
 
巨大な表を高速に扱うData.table について
巨大な表を高速に扱うData.table について巨大な表を高速に扱うData.table について
巨大な表を高速に扱うData.table について
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
 
HiRoshimaR3_IntroR
HiRoshimaR3_IntroRHiRoshimaR3_IntroR
HiRoshimaR3_IntroR
 
K010 appstat201201
K010 appstat201201K010 appstat201201
K010 appstat201201
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
 
第四回 JavaScriptから始めるプログラミング2016
第四回 JavaScriptから始めるプログラミング2016第四回 JavaScriptから始めるプログラミング2016
第四回 JavaScriptから始めるプログラミング2016
 
ウェブから情報をあつめる
ウェブから情報をあつめるウェブから情報をあつめる
ウェブから情報をあつめる
 
#crazy-js Quiz
#crazy-js Quiz#crazy-js Quiz
#crazy-js Quiz
 
20120421中国gtug
20120421中国gtug20120421中国gtug
20120421中国gtug
 
Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説
 

Mehr von Nobuaki Oshiro

10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
 
15 0117 kh-coderご紹介
15 0117 kh-coderご紹介15 0117 kh-coderご紹介
15 0117 kh-coderご紹介
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.7
Nobuaki Oshiro
 

Mehr von 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.10 14 1101
10分で分かるr言語入門ver2.10 14 110110分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101
 
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920 10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920
 
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
 

Kürzlich hochgeladen

Kürzlich hochgeladen (10)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Code iq×japanr 公開用