• 検索結果がありません。

R システムでのデータの保存

N/A
N/A
Protected

Academic year: 2021

シェア "R システムでのデータの保存"

Copied!
16
0
0

読み込み中.... (全文を見る)

全文

(1)

rd-11. リレーショナルデータ ベースとの連携

R

システムでデータサイエンス演習)

1

金子邦彦

https://www.kkaneko.jp/cc/rd/index.html

(2)

R システムでのデータの保存

2

R システム

(ワークスペース)作業空間 の保存用ファイル

テーブルオブジェクトを CSV ファイルに

エクスポート

※ 1ファイル=1オブジェクト R データファイル(拡張子 : .Rd

へのワークスペースのセーブとロ

※ 1ファイルに,ード

複数オブジェクト保存可能

リレーショナルデータベース 管理システム

(3)

なぜデータベースシステム

巨大(メモリに入りきらないくらい)なデータ を、軽快に扱いたい

データの共有、データへの並行アクセスを簡単に 行えるようにしたい

3

(4)

リレーショナルデータベースでは

• 4

リレーショナル・データベースには、データ

の種類ごとに分かれた、たくさんのテーブル が格納される

ID

商品 単価

1

みかん

50 2

りんご

100

ID

名前

1 A

2 B

◇  テーブル名: 商品

◇  テーブル名: 会員

(5)

リレーショナルデータベースのテーブルの例

• 5

ID

商品 単価

1

みかん

50 2

りんご

100

レコード データ本体 レコード

◇  テーブル名: 商品

レコード データ本体 レコード

◇  テーブル名: 会員

ID

名前

1 A

2 B

(6)

1.種類の違うデータは、別のテーブル   に分ける

2.レコードが、データの基本単位    会員1人 = 1レコード    ビデオ1本 = 1レコード 3.データを識別したいときは

  主キーを使う.

   どの会員がどのビデオを借りて    いるかの記録にも主キーを使う

会員番号 氏名

1 AA

2 CC

3 BB

4 DD

◆ テーブル名:会員

ID 名前 貸出者

1 ハリーポッター 1 2 ハリーポッター 3 3 ドラえもん 3

◆ テーブル名:ビデオ

リレーショナルデータベース

6

(7)

11-2. R システムで

リレーショナルデータベース を扱う

7

(8)

RSQLite パッケージ

8

R システム

リレーショナルデータベース 管理システム

SQLite バージョン 3 RSQLite

パッケージ 仲立ち

(9)

RSQLite パッケージの機能

• SQLite3

にアクセスして、

SQLite3

のほぼ全機 能を扱うことができる

テーブル定義

テーブル操作(行の挿入、削除、値の変更)

SQL

問い合わせ

• R

のテーブルオブジェクトを、

SQLite3

「テーブル」と相互に変換することが簡単にでき る機能も

R システム

9

リレーショナルデ ータベース 管理システム SQLite バージョン

3 仲立ち

(10)

R のテーブルオブジェクトと、

SQLite3 の「テーブル」

name price

apple 100

orange 50 banana 230

10

扱いたいデータ

R のテーブルオブジェクト

(コンストラクタと確認表示) SQLite3 のテーブル テーブル定義と

テーブル生成

確認表示

(11)

RSQLite パッケージのインストール

• install.packages("RSQLite")

11

※ 他のリレーショナルデータベース管理システム MySQL, Oracle, PostgreSQL,   SQLServer などを使いたいときは,

 それぞれ用のパッケージを探して,インストールできる

(12)

R のテーブルオブジェクトを、 SQLite に格 納 (そのとき、 SQLite のテーブルに自動変

換)

library(dplyr)

x <- data_frame( name=c("apple", "orange", "banana"), price=c(100, 50, 230) )

print(x)

library(RSQLite)

conn = dbConnect( dbDriver("SQLite"), dbname="hoge.db") dbConnect(conn)

dbWriteTable(conn, "xx", data.frame(x))

dbDisconnect(conn)

12

R のテーブルオブジェクト

(オブジェクト名は x

格納

SQLite3 のテーブル

(テーブル名は xx

エラーメッセージが 出ないことを確認

(13)

R のテーブルオブジェクトを、 SQLite に格 納 (そのとき、 SQLite のテーブルに自動変

換) • R

のテーブルオブジェクト =

    SQLite

のテー ブル

13

R のテーブルオブジェク (オブジェクト名は x

格納R のテーブルオブジェク (テーブル名は xx

(14)

わざとオブジェクト   x を消してください

14

あとで, SQLite から読み込みたいから

(15)

R のテーブルオブジェクトを、 SQLite に格 納 (そのとき、 SQLite のテーブルに自動変

換)

library(RSQLite)

conn = dbConnect( dbDriver("SQLite"), dbname="hoge.db") dbConnect(conn)

y <- dbReadTable(conn, "xx") print(y)

dbDisconnect(conn)

15

R のテーブルオブジェクト

(オブジェクト名は y

SQLite3 のテーブル

(テーブル名は xx

エラーメッセージが 出ないことを確認

(16)

SQL の例

library(RSQLite)

conn = dbConnect( dbDriver("SQLite"), dbname="hoge.db") dbConnect(conn)

r1 <- dbGetQuery(conn, "select name from xx;") print(r1)

dbDisconnect(conn)

16

SQLite3 のテーブル

(テーブル名は xx

エラーメッセージが 出ないことを確認

参照

関連したドキュメント

• ネット:0個以上のセルのポートをワイヤーを使って結んだも

ライセンス管理画面とは、ご契約いただいている内容の確認や変更などの手続きがオンラインでできるシステムです。利用者の

(( .  entrenchment のであって、それ自体は質的な手段( )ではない。 カナダ憲法では憲法上の人権を といい、

AMS (代替管理システム): AMS を搭載した船舶は規則に適合しているため延長は 認められない。 AMS は船舶の適合期日から 5 年間使用することができる。

Q-Flash Plus では、システムの電源が切れているとき(S5シャットダウン状態)に BIOS を更新する ことができます。最新の BIOS を USB

子どもたちは、全5回のプログラムで学習したこと を思い出しながら、 「昔の人は霧ヶ峰に何をしにきてい

「欲求とはけっしてある特定のモノへの欲求で はなくて、差異への欲求(社会的な意味への 欲望)であることを認めるなら、完全な満足な どというものは存在しない

   遠くに住んでいる、家に入られることに抵抗感があるなどの 療養中の子どもへの直接支援の難しさを、 IT という手段を使えば