2015年5月25日月曜日

Kobe.R #18

5月16日にKobe.R #18を大阪で開催しました。


今回は(株)ことば研究所様にての開催です。


以下、発表順に:



テーマ①

テキストマイニング入門-RMeCabで前処理-





また、ご担当された大阪都構想に関するTwitterの調査結果をご説明いただきました。
詳細はこちらからご覧になれます。

大阪都構想に関する 40 日間のホットワードが判明、ツイートの声を可視化




テーマ②

前処理のためのパッケージ




テーマ③

本の紹介: 通称「緑本」




テーマ④

Incanter と R との連携 (資料準備中)





次回は6月20日を予定しています。発表者募集中です。 https://kobexr.doorkeeper.jp/events/25751

2015年4月15日水曜日

Kobe.R #17

4月11日にKobe.R #17を三宮で開催しました。



今回も朝の9時半という時間にも関わらず11名の方にご参加頂きました。


以下、発表順に:

テーマ①

異常値混入データを扱う上でのFactor型の注意点について


(資料修正しました。)

テーマ②

R in LifeScience2: 分散分析について





テーマ③

ネットワーク分析入門-ソーシャルネットワークを例に-




次回は5月16日を予定しています。発表者募集中です。

Kobe.R #16

Kobe.Rは神戸・大阪で毎月定期的に開催している、
Rとデータ分析に関する勉強会です。

第16回目は3/21に三宮で開催しました。
天候、エネルギー関係等について話し合いました。
今回は神戸、大阪だけでなく、京都・奈良や東京からもご参加頂きました。
ありがとうございました。

2015年3月1日日曜日

Kobe.R #15

2月28日にKobe.R #15を三宮で開催しました。



朝の9時半という時間にも関わらず15名もの方にご参加頂きました。



テーマ①

Rデータ処理入門: Rの基本操作からdplyr, tidyr, ggplotの使い方




テーマ②

R in LifeScience: ヒートマップについて





テーマ③

Incanter チョットシッテル: ClosureベースR風の統計解析環境 Incanterについて



テーマ④

データ分析実践: 売り上げデータをまずは眺めてみる。



今回、Incanterの話は面白かったです。今後も期待!






次回は3月21日を予定しています。発表者募集中です。

2015年2月13日金曜日

KOBE.R #14

2015/1/31に14回目のKOBE.Rを開催しました。

(株)ことば研究所様のご厚意で、大阪の会場・設備を使用させて頂きました。



(開始前)





テーマ


・ R基礎: 今回はRを使用されていない参加者も少なくなかったので当日追加しました。

基礎的な使い方とdplyrの説明です。


・ MAD: 中央値を用いた統計量の紹介です。




・ SVM入門: 基礎理論~Rでの試行です。





会場で紹介された資料・書籍

言語処理のための機械学習入門

2014年12月18日木曜日

Japan.R 2014に参加して (R Advent Calender 14日目)

R Advent Calender 14日目の記事です。

今回はKobe.Rとは関係ないのですが、Japan.Rに参加した感想を書かせていただきます。
Kobe.Rは来年1月末までオフシーズンです。




なかなか東京・関東のRやデータ解析の勉強会的なものに参加できていない中、
今回初めて参加することができたJapan.R、いろいろ刺激になりました。

特に感じたのが

1. 発表内容が面白い
・ 「言語ディスカッション」のセッション、R・Python・Julia・SAS・Excelユーザー代表のパネルディスカッションを企画された方、素晴らしいです。来年はMatlabも…
・ h2o使った方(Blogと御著書、拝読しています)の話を初めてお聞きできました。
・ Freak Out様からは広告最適化指標と実績について。具体的な数字もあり、興味深かったです。

2. ネットワークが密
・ Japan.Rって全国のRの人が集まっていろんな人がいて、、、かもしれませんが、何より感じたのがお互い既に知りあいですというような雰囲気。うらやましい限りです。

3. やっぱり分析関連、凄い人が多い
・ 休憩中や懇親会で異常検知・変化点検出について色々アドバイスいただけました。
・ LT、よくこんなの作るなと感心させられっぱなしでした。

また、参加中にchoroplethrパッケージ作者Ariさんから、R6 Classesは使いやすい、との
コメントがあり、早速業務で使っているコードを試しに一部書き換えてみたりしています。
R6の使い方、こちらにしっかりまとめられているのですが、もう一度書き写してみました。




今回は(公開できる)使用例がないので、一度Open Data関係で作ってと思います。

2014年12月16日火曜日

Kobe.Rの思い出話

この記事はR Advent Calendar 2014の16日目の記事です。
Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。
今回はKobe.Rの思い出話をします。


私(florets)がhirokikから「Rの勉強会をやろう」と声を掛けられたのは、今年(2014年)の2月のことでした。そして記念すべき第1回を3月に開催します。おばあちゃんが一人、パソコン教室と間違えて私達の会場に入ってこられ、ここはパソコン教室じゃないです、R言語の勉強会ですと一生懸命説明したのを覚えています。16名もの参加登録があり、幸先のよいスタートを切ることができました。

ところが、早くも第2回からは参加人数が急激に減ってしまいます。第3回ではなんとたったの4名に。そのうち2名は運営ですから、参加者は2名しかいらっしゃらないという事態です。勉強会の値打ちは参加人数だけではありませんが、それにしても少な過ぎます。これはやばい。しかし、私は不思議と不安は感じませんでした。というのも、hirokikから熱が伝わってくるのを感じていたのです。「Kobe.Rは必ず成功する」と確信していました。








そうして毎月開催していくうちに、Kobe.Rにはおもしろいことが起こり始めます。データ「所有者」と「分析者」の交流の場として機能する集まりになっていったのです。そうなると参加者もだんだんと増えていき、夏が終わるころにはコンスタントに10人を超えるようになります。とうとう前回の第13回では20人を越えました。私(florets)は、この度関西を離れますが、これからKobe.Rがますます盛り上がっていくことを応援しています!

次回のKobe.R 第14回は2015年1月31日です。株式会社ことば研究所様に会場をご提供いただきまして、大阪の心斎橋で開催いたします。たくさんの方に参加していただきたいですね。

2014年12月7日日曜日

Kobe.R #13 + Open Data

Kobe.Rは神戸・大阪で毎月定期的に開催している、
Rとデータ分析に関する勉強会です。


第13回目のテーマはオープンデータです。
技術や活動等のご紹介を関係者の皆様に行っていただきました。


【チュートリアル】
・ Open Data / Linked Open Data紹介



・ SPARQL紹介・ハンズオン



【活動紹介】
・ Linked Open Data Initiative: http://linkedopendata.jp/
・ Open Data Lab: https://www.facebook.com/OpenDataLabHyogo
Open Data Labについて: 兵庫県から「平成25年度企業支援型地域雇用創造事業」として受託し、オープンデータ活用モデル事業とオープンデータカタログサイト構築モデル事業の拠点として神戸市中央区内に1年限定で開設したもの。神戸電子専門学校(神戸市中央区)と明石工業高等専門学校(明石市)の卒業生を含む7人を緊急雇用者として迎え、地域課題解決に向けて取り組みを始めている。



【コンテスト紹介】
・ LOD Challenge 2014

LOD Challenge 2014の紹介 - Created with Haiku Deck, presentation software that inspires

Links:
・ LOD Challenge 2014: http://lod.sfc.keio.ac.jp/challenge2014/
・ アーバンデータチャレンジ 2014: http://aigid.jp/?page_id=421






開催内容: http://kobexr.doorkeeper.jp/events/16989

場所: 神戸市勤労会館
日時: 2014/11/24(月・祝)

14:30~14:45: はじめに
14:45~15:20: オープンデータについて①
         (オープンデータとLinked Open Data(LOD))
15:20~16:10: オープンデータについて②
          (汎用Web API“SPARQL”でオープンデータ検索)
16:10~16:20: オープンデータについて③
          (LOD Challenge)
16:20~16:35: 休憩
16:35~16:40: 時系列データ分析・予測の方法(コンペ結果報告)
16:40~17:00: OpenDataLabの活動紹介
(時間があれば: Rで扱うOpenStreetMap、Excelと地図データ(仮)
17:00~: 解散




・ 今回は「オープンデータ」が効いたのか過去最多23人に参加頂きました
・ ZOZOデータ分析コンペの報告も簡単にさせていただきました。
・ Kobe.R Blogを続けて下さったflorets1さんが関西を離れます。
 これまで本当にありがとうございましたm(_ _)m

2014年11月10日月曜日

次回のKobe.R #13 はオープンデータ特集です

公共データのビジネス活用等への期待の高まりから、オープンデータが注目されています。

オープンデータとは

「機械判読に適したデータ形式で、二次利用が可能な利用ルールで公開されたデータ」であり「人手を多くかけずにデータの二次利用を可能とするもの」です。公共データを二次利用可能な形で提供することにより、市場における編集、加工、分析等の各段階を通じて、様々な新ビジネスの創出や企業活動の効率化等が促され、経済活性化が図られることが期待されています。

テーマ

ウェブはこれから人間が読むための「文書のウェブ」から、様々なデータを自在に発見して利用できる「データのウェブ」へと向かうのでしょうか?データマイニング、機械学習、プライバシーはどうやって守る?などテーマは盛りだくさん。オープンデータとRの融合する瞬間を目撃してください。


Kobe.R #13 + Open Data
http://kobexr.doorkeeper.jp/events/16989

日時: 2014-11-24(月)14:30 - 17:30
場所: 〒651-0096 兵庫県神戸市中央区雲井通5丁目1?2 神戸市勤労会館 講習室404


2014年11月7日金曜日

Kobe.R #12 英会話カフェの売上を増やしたい

Kobe.R #12を開催しました。
URL: http://kobexr.doorkeeper.jp/events/16101
日時: 2014/10/26 Sun. 10:00-12:00
場所: 大阪市福島区

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。
この日最後の発表者は、神戸で英会話クラブ SMEC を開催されている中澤さんです。

SMEC(Saturday Morning English Club)は土曜日だけやっている英会話カフェです。
英語をしゃべりたいなあと思っているのにしゃべる機会がないという人は多いと思います。そして実は日本にいる外国人だって日本の社会に溶け込みたいと思っているんです。
そんな両者がお互いに交流する機会を作るために、こんなカフェをやってます。
- お金があまりかからない
- みんなが続けることができる
- コミュニティが育っていく



SMEC movie-long ver from Tatsushi Nakazawa on Vimeo.


統計的な手法を使って、英会話カフェの来客数を増やせないか。中澤さんの課題を参加者みんなで考えました。顧客の性別、年齢などの属性をレジで記録できないかなどを検討したのですが、今のところ資金的、時間的に割ける資源がなさそうで、そのようなアプローチは難しいのかなと思いかけたその時、中澤さん自身がするどい分析結果を導き出したのです!

「学生のころからいろいろ集客をやってきたんですけれど、ひとつの原則に気付いたんですよ。男性が集まってくるところに女性は集まってこない。逆に女性が集まってくるところには男性も集まってくるということです。」

人は優れた洞察力をもっています。中澤さんはR言語に頼ることなく、アソシエーションルールを導き出していらっしゃいました。中澤さんからあふれるエネルギーに魅力を感じ、SMECの来客数はこれから増えていくに違いありません。全国にチェーン展開されてPOSレジが導入されたころ、私たちKobe.Rが何かお手伝いできるのかもしれません。などと考えながら、この後みんなでお昼ご飯のカレーライスを食べに行きました。



SMEC (Saturday Morning English Club)
日時: 毎週土曜日朝11時~14時

場所: La luz(ラ・ルス)
JR ・六甲ライナー住吉駅南出口を出て、岡本方面に歩いて徒歩2分(東灘区役所の向かい側)
 阪神魚崎駅を出て住吉川に沿って北上。東灘図書館前の横断歩道を渡って住吉駅方面に歩く。(徒歩15分)

参加費: 無料(ただし、ワンドリンクは必ずご注文ください。)

2014年11月4日火曜日

Kobe.R #12 Rは○○になっていく

Kobe.R #12を開催しました。
URL: http://kobexr.doorkeeper.jp/events/16101
日時: 2014/10/26 Sun. 10:00-12:00
場所: 大阪市福島区

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。
次は株式会社ブリリアントサービスの飯田さんによる発表です。

センサーとサーバーを活用したアプリケーション開発が求められている

急激に普及が進み、飽和状態になりつつあるスマートフォンやタブレット型端末アプリケーションにとって、今後の開発展望はズバリ「Rとの融合」なのです。スマートフォンアプリは端末ローカルにデータを持つのではなく、サーバーにデータを蓄積する方向に進化しています。端末の価格を低く抑えたいことや、高速なサーバー側で高度なデータ分析を行いたいということが背景としてあると思います。そしてスマートフォンは実はセンサーの塊りです。位置情報をはじめ、気圧、磁気、心拍など様々なデータを測定することができます。
これらセンサーとサーバーを活用したアプリケーション開発が今後求められるでしょう。
もちろん、他にも iOS, Android 2大OSの同時開発や、美しいデザインも大きな要素です。





ゼロからはじめるR言語勉強会について

飯田さんは「ゼロからはじめるR言語勉強会」を主催されています。この勉強会をきっかけに私@florets1はIT勉強会にはまってしまいました。Rという未知の言語、そして統計学との出会い、たくさんの楽しい仲間と出会うことができて本当に感謝しています。


Kobe.R #12 クラスタリング

Kobe.R #12を開催しました。
URL: http://kobexr.doorkeeper.jp/events/16101
日時: 2014/10/26 Sun. 10:00-12:00
場所: 大阪市福島区

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。
次の発表はクラスタリングについてです。様々なクラスタリング手法についてまとめて紹介していただいたあと、実際にirisデータセットの、k-meansで分類した結果を示していただきました。


質疑

irisデータセットにはもともと、種という分類データが含まれています。この元の分類と今回のk-meansによる分類は比べてどうだったか。そこそこ一致していた。単純なユークリッド距離で分けてうまくいったのは、もとがよいデータだということもあるでしょう。

何個のクラスタに分けるべきかという問題がある。分けようと思えば何個にでも分類できる。いくつに分けるのが一番いいのだろうか。これについてはAIC(赤池情報量基準)などの基準がある。この問題はPRML下巻に混合ガウス分布の変分近似として説明されている。読んでみるとおもしろいですよ。

参考文献

The Elements of Statistical Learning: Data Mining, Inference, and Prediction.

「ものまね鳥をまねる会」とは

スライドの2ページ目に紹介されている「ものまね鳥をまねる会」というのは、発表者の @Wakamatz さんが主催されている読書会です。
森に住む鳥たちのファンタジーを読んでいると、いつのまにか、関数型プログラミング言語の理論的基礎「コンビネータ論理」が身についてしまいますよ。「計算」という行為の本質に迫りましょう。
次回は2014/11/16(日)13:00からです。
http://connpass.com/event/9503/

2014年11月3日月曜日

Kobe.R #12 時系列の予測 Holt-Winters法

Kobe.R #12を開催しました。
URL: http://kobexr.doorkeeper.jp/events/16101
日時: 2014/10/26 Sun. 10:00-12:00
場所: 大阪市福島区

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。
次の発表は時系列データの予測するモデル Holt-Winters法の紹介です。
季節変動による周期性のあるデータをうまくフィッティングして予測できる様子を見せていただきました。便利そうです。

2014年11月2日日曜日

Kobe.R #12 回帰分析入門

Kobe.R #12を開催しました。
URL: http://kobexr.doorkeeper.jp/events/16101
日時: 2014/10/26 Sun. 10:00-12:00
場所: 大阪市福島区

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です.
最初の発表は「回帰分析入門 基礎の基礎から」です。この発表資料は、発表を聞きながら、目の前のパソコンで資料通りにRのコマンドを入力して試すことができるように作成しております。





2014年10月20日月曜日

Kobe.R #11 データ分析コンペに挑戦

Kobe.R #11を開催しました。
URL: http://kobexr.doorkeeper.jp/events/15769
日時: 2014/10/4 Sat. 14:00-18:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。

この日は午前中の Kobe.R #10 が無事に終了した後、とあるデータ分析コンペティションに挑戦するために午後から引き続いて Kobe.R #11 を開催しました。カフェでコーヒー飲みながら、ノートパソコン拡げてデータ分析。楽しそうでしょ?




次回 Kobe.R #12
日時: 10/26(土)10:00-12:00
場所: 大阪市立 福島区民センター 302号室
http://kobexr.doorkeeper.jp/events/16101

2014年10月19日日曜日

Kobe.R #10 MS Excelの最新データ分析機能

Kobe.R #10を開催しました。
URL: http://kobexr.doorkeeper.jp/events/15060
日時: 2014/10/4 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です.

この日最後の発表は、マイクロソフトのオフィスソフトが提供するデータ分析環境について紹介していただきました。その中でも特にPower BI for Office365によって拡張されるExcelの強力な分析機能 PowerPivot と、 PowerMap による可視化をデモをまじえて解説していただきました。


Power BI for Office 365

使い慣れたExcelをベースに、データ分析できる環境です。Excelに検索、分析や可視化の機能を追加してくれます。
- Power Query 社内の情報も社外の情報も検索し、アクセスして変換する
- Power Pivot 簡単にデータをモデル化し、インメモリで素早く分析
- Power View 簡単操作でインタラクティブにデータを可視化
- Power Map 地理的情報、時間的情報を地図上にプロットし 3D でアニメーション表現

「ビジネスの主役である現場の社員が自らデータ分析することが成功の鍵である」というコンセプトです。試用版も提供されています。
http://www.microsoft.com/ja-jp/office/2013/business/powerbi/default.aspx

Power Pivotのデモ

まずはデータを取り込むところからです。取り込めるデータソースは様々ありまして、SQLサーバー、Access、Oracleから、SharePoint、Hadoopなどいろいろ選べます。面白いことにFacebookからもデータを取ってくることができます。友達の一覧や、どの記事に「いいね!」を押したかがExcelのワークシートにずらずら出てくる様子にはショックを受けました。

取り込んだデータは自由自在にクロス集計できます。軸をドラッグ&ドロップで入れ替え放題です。Excelはこれが本当に便利ですね。

Power Mapのデモ

ECサイトの売上データにある住所を日本地図にプロットするデモを披露していただきました。
発表者がExcelをちょいちょいと操作すると、あっというまに地図が表示される様子に、会場からどよめきが起こります。なんという強力なツールでしょうか。私も使ってみたくなりました。


正直に言いますと私は住所という情報を扱うのが苦手です。データに住所が含まれていても基本的には無視しています。住所別に集計してみようなどということは無意識に避けてきました。しかし、Power Mapならできそうだ。そう思わせてくれる大変興味深い発表でした。



全ての発表が終わり、この後みんなでお昼ご飯を食べにいきました。

次回 Kobe.R #12
日時: 10/26(土)10:00-12:00
場所: 大阪市立 福島区民センター 302号室
http://kobexr.doorkeeper.jp/events/16101

2014年10月18日土曜日

Kobe.R #10 疲労の見える化

Kobe.R #10を開催しました。
URL: http://kobexr.doorkeeper.jp/events/15060
日時: 2014/10/4 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。続いては疲労を見える化しようという研究について発表していただきました。

疲労を見える化する

質問紙を配り、回答してもらいます。
質問紙には例えば
- 不安で落ち着かない気分である
- 居眠りが多い
- 微熱がある
- よく眠れない
など、臨床で聞き取ってよく出てくる症状を並べています。
ほとんどの質問はこのように症状ですが、中には
- すごく仕事が忙しい
のように状態をたずねる質問もあり、全部で38個の質問を用意しました。
これらの質問に対し、「まったく無い」から「非常にある」までの5段階で答えてもらいました。

質問どうしの関連を調べ、グループ化、集約することで、この人はこういう原因で疲れている、ということを可視化しようという研究です。今日の発表では質問表のデータから因子分析をやって、因子分析結果の妥当性をとりました、というところまでをご紹介します。

[発表資料は後日掲載]

因子分析の流れ

データは適切か?

因子分析をするにはデータがどれくらいの件数あるかが大切です。
質問の数の10倍から20倍くらいはないといけません。今回は質問38に対して1000人弱の回答がありますので、そこそこよいでしょう。

そして、質問どうしにある程度の相関がないと、質問をうまくグループ分けできません。例えばまったく無相関な質問ばかり並んでいると、因子分析をする意味がありません。そこで、事前に因子分析をする価値があるデータなのか調べます。このことを調べる指標としてKMO, MSAがあります。また、バートレットの球面性検定という方法もあります。詳しくは「中澤 港、Rで因子分析:入門偏」を参照してください。

何個の因子にわけようかな

因子分析やる価値のあるデータだと判断したら、今度は何個くらいの因子に分けることができるかなということを見ていきます。いくつかの方法を紹介します。

- スクリープロットを見る方法 因子行列の固有値を大きい順にプロットしますと、あるところでカクンと落ちるところがあります。落ちる手前までが意味のある因子でしょうねという決め方です。
- 固有値が1を超えていれば、1個分以上の価値がある因子なのだから、そこまでを含めたらいいでしょうという決め方
- 平行分析 自動的に決めてくれます。こちらも詳しくは「中澤 港、Rで因子分析:入門偏」を参照してください。

因子分析で質問をグループ分けしよう

どの項目がどのグループに入るかを計算していくのが因子分析です。今回は38個の質問の項目をを10グループに分けていきます。

この時にどのグループに入るか推定する方法として、最尤法や一般化最小自乗法があります。データの分布が正規分布に近ければ最尤法がよいのですが、今回のデータの場合、普通の方がそんなに症状がいっぱいあるということが本来無いので、つまりどれもこれもあてはまるという人はほとんどいなくて、「まったくない」、「ほとんどない」に回答が集まってしまいました。質問紙の設計を見直すべきだったかもしれません。

データの分布があまりきれいじゃない場合には一般化最小自乗法のほうがロバストでよいとされており、今回の研究では一般化最小自乗法を使いました。

因子の軸を回転する

因子の解釈がしやすくなるよう、回転を行います。この時、因子間の関係性が完全に独立だと仮定して直行した成分とみなして、計算させる方法か、斜行といって因子間に、ある程度は相関があってもいいよねっていう前提で解析するか、決めなければいけません。
この研究では、因子間にある程度関係はあるもんだという前提の回転を選びました。

因子を解釈する

因子分析を行うと、質問項目に対して因子負荷量が出てきます。この数字を見て、どの質問項目がどの因子に入るのかを見ていくわけです。この因子にはこの質問が含まれているというのを見て、因子に名前をつけていきます。例えば、不安、過労、不眠、感染症、慢性疲労などです。


2014年10月13日月曜日

Kobe.R #10 xts 時系列の簡単操作

Kobe.R #10を開催しました。
URL: http://kobexr.doorkeeper.jp/events/15060
日時: 2014/10/4 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。最初の発表「dplyr & xts を使った時系列データの簡単集計」についてご紹介します。

xtsは時系列データの操作に便利

株価や売上のような時系列データには、日付や時刻が記録されています。このようなデータから特定の期間を抽出したい、もしくは、月ごと、週ごとの集計を求めたいという時に便利なパッケージが xts eXtensible Time Series です。

データフレームをxts型に変換する

まず、データフレーム型のデータをxts型のデータに変換します。 例えばこんなデータフレームがあるとします。

> head(data)
              time user_id item_code price
1 2013/11/14 19:39       0       s93  2000
2 2013/11/4  22:39       0      s191  1001
3 2013/11/5  13:15       0       s63  2300
4 2013/11/5  13:15       0        35     0
5 2013/11/6   0:20       0      s001  2800
6 2013/11/6  17:37       0    s80001  2300




このデータをxts型に変換します。

> library(xts)
> data.xts <- as.xts(read.zoo(data))

パイプ演算子を使ってこのようにも書けます。

> library(xts)
> library(pipeR)
> data.xts <- data %>>% read.zoo() %>>% as.xts()


こうしてxts型に変換しておくと、こんな操作ができるようになります。


期間を指定してデータを抽出する


data.xts['2013-05-01::2013-05-08']
data.xts['2013-05']
data.xts['2013-05::']


期間を指定して集計

例えば週別の合計を求めてみましょう。

> weekly <- apply.weekly(data.xts$price, sum)
> head(weekly)
            price 
2013-04-07 704402
2013-04-14 246364
2013-04-21 306163
2013-04-28 246358
2013-05-05 582423
2013-05-12 780918

他にもapply.daily、apply.monthlyで日別、月別の集計ができます。

2014年10月10日金曜日

Kobe.R #10 パイプ演算子

Kobe.R #10を開催しました。
URL: http://kobexr.doorkeeper.jp/events/15060
日時: 2014/10/4 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。最初の発表「dplyr & xts を使った時系列データの簡単集計」についてご紹介します。

簡単集計dplyrではパイプ演算子 %.% を使って、左から右へ流れるようにコーディングすることができます。
このパイプ演算子を強化してくれるパッケージとして magrittr が人気があるそうです。
magrittr のパイプ演算子は %>% です。シフトキーから指を離さずにタイプできるのが評判いいみたいですよ。

他に magrittr より速いという pipeR というパッケージも最近人気のようです。こちらのパイプ演算子は %>>% です。

Kobe.R #10 dplyr データの集計に便利なパッケージ

Kobe.R #10を開催しました。
URL: http://kobexr.doorkeeper.jp/events/15060
日時: 2014/10/4 Sat. 10:00-12:00
場所: 三ノ宮駅周辺

Kobe.Rは関西で毎月定期的に開催している、統計用プログラミング言語 R の勉強会です。最初の発表「dplyr & xts を使った時系列データの簡単集計」についてご紹介します。


dplyrはデータの集計に便利なパッケージです


基本的な使い方

library(dplyr)

data(iris)

iris.sum <- summarise(group_by(iris, Species), 
                      avg_SL=mean(Sepal.Length), 
                      avg_PL=mean(Petal.Length)) 

head(iris.sum)

Source: local data frame [3 x 3]

     Species avg_SL avg_PL
1     setosa  5.006  1.462
2 versicolor  5.936  4.260
3  virginica  6.588  5.552


pipe演算子を使うと

summarise(group_by(data, A, B), sumA=sum(A), sumB=sum(B))
と書くところを
data %.% group_by(A, B) %.% summarise(sumA=sum(A), sumB=sum(B))
と左から右へ流れるように書けます。

irisをdplyrで集計してみるとこのようになります。

data(iris)
iris.sum <- iris %.% group_by(Species) %.% 
  summarise(avg_SL=mean(Sepal.Length), avg_PL=mean(Petal.Length))