Code iq×japanr 公開用

3,224 views
3,126 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,224
On SlideShare
0
From Embeds
0
Number of Embeds
2,331
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Code iq×japanr 公開用

  1. 1. CodeIQ×JapanR 2012/12/01 @doradora09
  2. 2. アジェンダ• 自己紹介• CodeIQ コラボ企画• 問題と解答例• 回答の傾向
  3. 3. アジェンダ• 自己紹介• CodeIQ コラボ企画• 問題と解答例• 回答の傾向
  4. 4. 自己紹介• 氏名:大城信晃• Twitter: doradora09• 職業: Web エンジニ ア• R:勉強中• 趣味: – カクテル作り – カメラ始めました• 本日の懇親会幹事
  5. 5. TokyoR• TokyoR で主に運営側で参加• 最近は初心者用セッションも発表させて いただいています 10 分で分かる R 言語入門 ver2.1http://www.slideshare.net/akiaki5516/10rver21
  6. 6. アジェンダ• 自己紹介• CodeIQ とは• 問題と解答例• 回答の傾向
  7. 7. CodeIQ とはCodeIQ | IT エンジニアのための実務スキル評価サー ビス https://codeiq.jp/
  8. 8. 色々な言語の課題があります
  9. 9. Rの問題を出題させて頂きました ! https://codeiq.jp/ace/doradora09/
  10. 10. 目的• CodeIQ を知ってもらう• Rの布教 – R初心者を想定した問題
  11. 11. 目的• CodeIQ を知ってもらう• Rの布教 – R初心者を想定した問題 「 R ではじめる株価 分析」
  12. 12. アジェンダ• 自己紹介• CodeIQ コラボ企画• 問題と解答例• 回答の傾向
  13. 13. 問題と解答例、その前に• 問題の回答期限が    12/3( 月 ) AM 10:00• ですので、• 今回の発表の内容は非公開でお願いしま す• 今日の発表を聞いて問題にチャレンジさ れる分にはOKです
  14. 14. 概要• R を用いて株価データを取得しプロット する問題です• 課題は1-3まであります• 株価取得には RFinanceYJ パッケージ ( 外 部パッ ケージ ) を利用します
  15. 15. RFinanceYJ• ヤフーファイナンスから株価情報を取得 するパッケージhttp://cran.r-project.org/web/packages/RFinanceYJ/index.html
  16. 16. RFinanceYJ• ヤフーファイナンスから株価情報を取得 するパッケージhttp://cran.r-project.org/web/packages/RFinanceYJ/index.html
  17. 17. RFinanceYJ• 名前載ってて驚き• (昔 5% くらいだけ手伝った記憶が・・)
  18. 18. 【事前準備】• 以下の 2 社の株価データを取得してくだ さい。  1. ディー・エヌ・エー (2432.t) 2. グリー (3632.t) なおデータを取得する期間は 2012 年 1 月 4 日から現在の日付までとします。
  19. 19. 【事前準備】install.packages(‘RFinanceYJ’)library(RFinanceYJ)dena <- quoteStockTsData(2432.t, 2012-01-04)gree <- quoteStockTsData(3632.t, 2012-01-04)(CRAN ミラーサーバは Japan(Tokyo) を選択 )
  20. 20. 【課題1】• 【事前準備】で取得した2社のデータを それぞれ 2012 年 1 月 4 日から 5 件表示し て 下さい。
  21. 21. 【課題1】 head 関数を利用head(dena, 5)head(gree, 5)> head(dena, 5) date open height low close volume adj_close229 2012-01-04 2321 2325 2285 2292 2077200 2292228 2012-01-05 2288 2290 2217 2222 2882400 2222227 2012-01-06 2235 2238 2111 2117 5601200 2117226 2012-01-10 2092 2099 2000 2027 5049000 2027225 2012-01-11 2005 2060 1891 1899 9326000 1899
  22. 22. 【課題1】5行指定で表示dena[1:5,]gree[1:5,]> dena[1:5,] date open height low close volume adj_close229 2012-01-04 2321 2325 2285 2292 2077200 2292228 2012-01-05 2288 2290 2217 2222 2882400 2222227 2012-01-06 2235 2238 2111 2117 5601200 2117226 2012-01-10 2092 2099 2000 2027 5049000 2027225 2012-01-11 2005 2060 1891 1899 9326000 1899
  23. 23. 【課題 2 】• 【事前準備】で取得した 2 社のデータの終 値 (close) を時系列でプロットしてくださ い。• 補足: – 可能であれば比較しやすいように図を重ね合わ せて描画してください
  24. 24. 【課題 2 】プロットmatplot(x=as.Date(dena$date), y=cbind(dena$close, gree$close), pch = 1:2)
  25. 25. 【課題 2 】折れ線グラフにするmatplot(x=as.Date(dena$date), y=cbind(dena$close, gree$close), pch = 1:2, type = "o")
  26. 26. 【課題 3 】• データを比較しやすいように 2012 年 1 月 4 日の終値を1として、再度プロットして ください。
  27. 27. 【課題 3 】matplot(x=as.Date(dena$date),       y=cbind(dena$close/dena$close[1], gree$close/gree$close[1]), pch = 1:2, type = "o")
  28. 28. あとは見やすくする• ここまでで大体 3点程度 ( 5点満点 )• あとは軸と凡例等の見易さで加点
  29. 29. 【各軸のタイトル追加】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)
  30. 30. 【日付追加】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)
  31. 31. 【日付追加】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)
  32. 32. 【凡例追加】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"))
  33. 33. 【凡例追加】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"))
  34. 34. 評価基準• 以下の項目が評価基準になります – 重ねてのプロット – 各軸の項目名 – 日付 – 折れ線グラフ – 凡例
  35. 35. アジェンダ• 自己紹介• CodeIQ コラボ企画• 問題と解答例• 回答の傾向
  36. 36. 得点( 12 人中) 点数 人数 5 4 4 6 3 1 2 1
  37. 37. 得点(のべ 25 人中) 点数 人数 5 9 4 12 3 2 2 1 1 0 0 1
  38. 38. プロット関数の種類( 12 人中) 関数 人数 plot 7 ts.plot 3 ggplot2 2 matplot 0
  39. 39. プロット関数の種類(のべ 25 人 中) 関数 人数 plot 16 ggplot2 4 ts.plot 3 Matplot 1 未解答 1
  40. 40. 解答例 (plot)
  41. 41. 解答例 (ts.plot)
  42. 42. 解答例 (ggplot2)
  43. 43. まとめ• 今回の問題が解けるとRを使って – 株価データ取得 – 2つのデータを比較 – 軸や凡例付きの作図といった基本的な利用が出来るようになり ます
  44. 44. まだまだ受付中! 12/3( 月 ) AM 10:00 までチャレンジ受け付けてますので是非 CodeIQ にチャレンジしてみてくだ さい!
  45. 45. ご清聴ありがとうございました
  46. 46. 質疑応答
  47. 47. 予備資料
  48. 48. 問題• 【概要】 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として、再度プロットして ください。プロットしたらそのコー ドを提出してください。

×