R 数据导入和导出.pdf - 数学建模学习资源网站
R 数据导入和导出.pdf - 数学建模学习资源网站
R 数据导入和导出.pdf - 数学建模学习资源网站
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