Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
〜 データ入力 編 〜
Rをさわってみた
自己紹介
• 約40年前 大阪に誕生
• 約20年前 大学にてニューラルネットワーク&最適化
• 約15年前 開発会社にて各種開発を5年くらい
• 約10年前 現在(コンピュータ業界の)インフラ屋
• 趣味
• 3DCG
• プログラミング(主...
データ処理の基本
処理? ?
今回のお話はこのデータ入力について
出力入力
データ グラフ
処理
R
〜 データ入力 編 〜
With 初音ミク
Rをさわってみた
データ処理の基本 TAKE2
様々なインプット
Keyboar
d
DatabaseText
様々なデータベース
の特徴
• ドキュメントデータベース
• スケーラビリティ
• 高可用性
• パフォーマンス
+rmongodbライブラリ
システム構成
前々回
MONGODBに関する事前知識
• 用語講座
は以下のような構成を取る。
■データベース
データ、ユーザなどを定義できる単位。
■コレクション
一般的なRDBのテーブルに近い。
ただし、テーブル定義などはない。
■ドキュメント
一般的なRDBの...
データの取得
> library(rmongodb)
> mongo <- mongo.create(db="data")
> mongo.find.one(mongo,'data.tweets')
_id : 7 51 c98897fc2c9...
例えば、位置情報だけ取得する場合
buf <- mongo.bson.buffer.create()
mongo.bson.buffer.start.object(buf,"geo")
mongo.bson.buffer.append.null...
例えば、位置情報だけ取得する場合
buf <- mongo.bson.buffer.create()
mongo.bson.buffer.start.object(buf,"geo")
mongo.bson.buffer.append.null...
表示表用データの作成
と言いたいところですが、
今回はタイムアップでここまで
まとめ
• MongoDBは最近流行りのJSONを使うのに便利
• RにはMongoDBと連携するrmongoDBライブラリがある
• BISON形式でクエリを作成する必要があり、難易度高め
• 一括でデータ取得ができないようで効率が悪そう
→...
次回…
• 出力編(超グラフィック)に続く?
Upcoming SlideShare
Loading in …5
×

Rデータ入力編

875 views

Published on

MongoDBとRをつないでデータを取り出した話。
普通に作ったら全く面白くなかったので、無駄に画面に力入れました。
それだけ…。

次は中身に力を入れたいですね。

Published in: Education
  • Be the first to comment

Rデータ入力編

  1. 1. 〜 データ入力 編 〜 Rをさわってみた
  2. 2. 自己紹介 • 約40年前 大阪に誕生 • 約20年前 大学にてニューラルネットワーク&最適化 • 約15年前 開発会社にて各種開発を5年くらい • 約10年前 現在(コンピュータ業界の)インフラ屋 • 趣味 • 3DCG • プログラミング(主にAndroid) • 統計学はド素人、Rは素人
  3. 3. データ処理の基本 処理? ? 今回のお話はこのデータ入力について 出力入力 データ グラフ 処理 R
  4. 4. 〜 データ入力 編 〜 With 初音ミク Rをさわってみた
  5. 5. データ処理の基本 TAKE2
  6. 6. 様々なインプット Keyboar d DatabaseText
  7. 7. 様々なデータベース
  8. 8. の特徴 • ドキュメントデータベース • スケーラビリティ • 高可用性 • パフォーマンス +rmongodbライブラリ
  9. 9. システム構成 前々回
  10. 10. MONGODBに関する事前知識 • 用語講座 は以下のような構成を取る。 ■データベース データ、ユーザなどを定義できる単位。 ■コレクション 一般的なRDBのテーブルに近い。 ただし、テーブル定義などはない。 ■ドキュメント 一般的なRDBのレコードに近い。 後はツールmongoimport でデータベースとかコレクションとか、元 データ(JSONファイル)を指定するだけ
  11. 11. データの取得 > library(rmongodb) > mongo <- mongo.create(db="data") > mongo.find.one(mongo,'data.tweets') _id : 7 51 c98897fc2c9908e26bf98f filter_level : 2 muidem contributors : 10 LLUN_NOSB text : 2 ‫وابحرت‬ ‫للنجم‬ ‫راعيت‬ ‫ما‬ ‫كل‬ ‫غايب‬ ‫العين‬ ‫عن‬ ً‫محبوب‬ ‫ذكرت‬… 🌟 geo : 3 データベースを指定 コレクションを指定 お、何かとれた!
  12. 12. 例えば、位置情報だけ取得する場合 buf <- mongo.bson.buffer.create() mongo.bson.buffer.start.object(buf,"geo") mongo.bson.buffer.append.null(buf,"$ne") mongo.bson.buffer.finish.object(buf) cur <- mongo.find(mongo,'data.tweets',query,limit=100L) coordinates <- matrix() while(mongo.cursor.next(cur)){ value <- mongo.cursor.value(cur) print(mongo.bson.value(value, 'geo.coordinates')) }
  13. 13. 例えば、位置情報だけ取得する場合 buf <- mongo.bson.buffer.create() mongo.bson.buffer.start.object(buf,"geo") mongo.bson.buffer.append.null(buf,"$ne") mongo.bson.buffer.finish.object(buf) cur <- mongo.find(mongo,'data.tweets',query,limit=100L) coordinates <- matrix() while(mongo.cursor.next(cur)){ value <- mongo.cursor.value(cur) print(mongo.bson.value(value, 'geo.coordinates')) } [1] 21.35147 40.28082 [1] 55.676191 -3.763653 [1] 41.88805 -87.62627 [1] 30.25785 -91.24194 [1] 54.69838 -1.22633 [1] 11.68617 -70.20450 [1] 43.3968739 -0.5554454 [1] 51.4912791 -0.3810858 [1] 35.31689 137.16146 [1] 32.83841 130.71140 : MongoDB内の任意のデータ がとれた!
  14. 14. 表示表用データの作成 と言いたいところですが、 今回はタイムアップでここまで
  15. 15. まとめ • MongoDBは最近流行りのJSONを使うのに便利 • RにはMongoDBと連携するrmongoDBライブラリがある • BISON形式でクエリを作成する必要があり、難易度高め • 一括でデータ取得ができないようで効率が悪そう → どなたか一括取得の方法知っている方教えて… • 癖はあるものの、使える • JSONパーサっぽいのもついてて、使える
  16. 16. 次回… • 出力編(超グラフィック)に続く?

×