09.05.2015 Views

R 数据导入和导出.pdf - 数学建模学习资源网站

R 数据导入和导出.pdf - 数学建模学习资源网站

R 数据导入和导出.pdf - 数学建模学习资源网站

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

R-data (2.2.1) 刘 重 杰 翻 译 初 稿<br />

从 3.23.x 版 本 以 来 , 在 GPL 下 ,MySQL 存 在 于 Unix/Linux 和和 Windows⃞MySQL 是 一 个 轻<br />

量 级 的 数 据 库 系 统 ( 其 默 认 操 作 系 统 的 系 统 文 件 是 大 小 写 敏 感 的 , 不 同 于 Windows 的 情 况 )⃞<br />

RMySQL 包包 在 Linux 和和 Windows 下 均 可 使 用 ⃞<br />

dbDriver("MySQL") 调 用 返 回 一 个 数 据 库 连 接 管 理 对 象 , 接 着 调 用 dbConnect 函 数 打 开 数 据<br />

库 连 接 , 随 后 可 以 使 用 泛 型 函 数 dbDisconnect 来 关 闭 数 据 库 连 接 ⃞ 相 应 的 可 以 在 ROracle 或<br />

RSQLite 中 使 用 dbDriver("Oracle") 或 dbDriver("SQLite")<br />

SQL 查 询 的 发 送 可 以 通 过 dbSendQuery 或 dbGetQuery 函 数 来 实 现 ⃞dbGetQuery 函 数 发 送 查<br />

询 并 取 回 结 果 保 存 为 一 个 数 据 框 ⃞dbSendQuery 函 数 则 发 送 查 询 避 过 那 发 挥 一 个 从 DBIResult<br />

类 继 承 而 来 的 对 象 中 , 这 个 对 象 可 以 取 回 结 果 , 随 后 可 以 使 用 dbClearResult 函 数 删 除 结 果 ⃞<br />

函 数 fetch 用 来 取 回 查 询 中 部 分 或 者 全 部 的 行 , 生 成 一 个 列 表 ⃞ 函 数 dbHasCompleted 标 识 是<br />

否 所 有 的 行 都 被 取 回 了 ,dbGetRowCount 函 数 返 回 结 果 中 的 行 数 ⃞<br />

在 读 出 ⃝ 写 入 和和 删 除 数 据 库 中 的 表 方 面 , 都 有 方 便 的 接 口 ⃞dbReadTable 和和 dbWriteTable 函<br />

数 从 一 个 R 的 数 据 框 中 读 写 数 据 表 , 并 把 数 据 框 的 行 名 变 为 MySQL 数 据 表 中 的 row_names<br />

字 段 ⃞<br />

> library(RMySQL) # 加 载 DBI 包包<br />

## 打 开 一 个 和和 MySQL 的 连 接<br />

> con dbListTables(con)<br />

## 载 入 一 个 数 据 框 到到 数 据 库 中 , 删 除 已 有 同 名 的 数 据 表<br />

> data(USArrests)<br />

> dbWriteTable(con, "arrests", USArrests, overwrite = TRUE)<br />

TRUE<br />

> dbListTables(con)<br />

[1] "arrests"<br />

## 读 取 整 个 数 据 表<br />

> dbReadTable(con, "arrests")<br />

Murder Assault UrbanPop Rape<br />

Alabama 13.2 236 58 21.2<br />

Alaska 10.0 263 48 44.5<br />

Arizona 8.1 294 80 31.0<br />

Arkansas 8.8 190 50 19.5<br />

...<br />

## 选 择 加 载 过 的 数 据 表<br />

> dbGetQuery(con, paste("select row_names, Murder from arrests",<br />

"where Rape > 30 order by Murder"))<br />

row_names Murder<br />

1 Colorado 7.9<br />

2 Arizona 8.1<br />

3 California 9.0<br />

4 Alaska 10.0<br />

※† 由 于 本 人 水 平 有 限 , 时 间 仓 促 , 错 误 极 多 , 敬 请 指 出 ⃞ 任 何 意 见 和和 建 议 请 联 系 :pkuabel@126.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!