09.05.2015 Views

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

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

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

函 数 cat 成 为 结 果 导 出 函 数 的 基 础 ⃞cat 函 数 通 过 一 个 函 数 作 为 参 数 , 附 带 一 些 其 他 参<br />

数 使 得 通 过 正 确 调 用 cat 函 数 得 到到 一 个 文 本 文 件 ⃞ 更 好 的 是 , 可 以 多 次 建 立 连 接 , 打 开 一 个<br />

文 件 用 来 写 入 或 添 加 , 然 后 关 闭 文 件 ⃞<br />

常 见 的 工 作 是 以 矩 阵 的 形 式 把 一 个 矩 阵 或 者 数 据 框 写 入 到到 文 件 中 , 有 时 候 还 带 上 行 和和 列<br />

的 名 称 ⃞ 这 可 以 通 过 write.table 和和 write 函 数 来 完 成 ⃞ 函 数 write 仅 写 出 一 个 制制 定 列 数 的 矩 阵<br />

或 者 向 量 ⃞write.table 函 数 更 加 方 面 , 可 以 写 出 一 个 数 据 框 ( 或 者 可 以 转 化化 为 数 据 库 形 式 的<br />

对 象 ), 并 带 有 行 列 标 记 ⃞ 写 出 数 据 框 到到 文 本 文 件 还 有 一 些 问 题 需 要 考 虑 ⃞<br />

1. 精 度 问 题<br />

通 过 这 些 函 数 , 大 多 数 实 数 或 者 复 数 转 换 为 完 全 的 精 度 ,write 函 数 得 到到 的 精 度 依 赖 于<br />

option(digits) 的 当 前前 设 置 ⃞ 为 了 进 一 步 细 致 的 控 制制 , 可 以 使 用 format 函 数 来 一 列 一 列 的 操<br />

作 数 据 框 ⃞<br />

2. 首 行 问 题<br />

R 默 认 首 行 为 变 量 名 称 行 , 于 是 文 件 内 容 常 有 如 下 格 式 :<br />

dist climb time<br />

Greenmantle 2.5 650 16.083<br />

…“…“…“…“<br />

如 果 write.table 函 数 的 col.names 参 数 为 NA 的 话 , 其 他 一 些 系 统 需 要 输 入 变 量 名 称 行 ⃞<br />

Excel 中 就 是 这 样 的 情 况 ⃞<br />

3. 分 隔 符<br />

在 英 语 国 家 中 当 逗 号 不 出 现 在 任 何 字 段 中 的 时 候 , 文 件 中 常 见 分 隔 符 是 逗 号 ⃞ 这 些 文 件<br />

被 称 为 CSV(comma separated values) 文 件 , 封 装 好 的 函 数 write.csv 提 供 了 一 些 合 适 的 默 认 选<br />

项 来 读 取 数 据 ⃞ 一 些 情 况 中 , 逗 号 被 用 作 进 制制 符 号 ( 在 write.table 函 数 中 设 置 参 数 dec = ","),<br />

这 时 候 使 用 write.csv2 默 认 参 数 来 读 取 数 据 , 使 用 分 号 作 为 分 隔 符 ⃞ 使 用 分 号 或 者 tab<br />

(sep="\t") 设 置 是 最 安 全 的 选 择 ⃞<br />

4. 缺 失 值<br />

默 认 情 况 下 , 缺 失 值 的 输 出 为 NA, 但 是 可 以 通 过 参 数 na 的 设 置 来 改 变 ⃞ 请 注 意 ,<br />

wrtie.table 函 数 中 把 NaNs 当 作 NA 处 理 , 但 是 cat 和和 write 函 数 中 不 是 如 此 ⃞<br />

5. 引 号<br />

默 认 情 况 下 , 字 符 串 都 有 引 号 ( 包包 括 行 和和 列 的 名 称 )⃞ 参 数 quote 决 定 了 字 符 和和 因 子 变<br />

量 的 引 号 形 式 ⃞ 字 符 串 中 含 有 引 号 的 时 候 需 要 注 意 , 三 种 有 用 的 形 式 如 下 :<br />

> df write.table(df, qmethod = "double")<br />

"a"<br />

"1" "a "" quote"<br />

> write.table(df, quote = FALSE, sep = ",")<br />

a<br />

1,a " quote<br />

escape 的 第 二 种 形 式 在 电 子 表 格 较 常 用 ⃞<br />

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

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

Saved successfully!

Ooh no, something went wrong!