Next: , Previous: Importing from other statistical systems, Up: Importing from other statistical systems



3.1 EpiInfo, Minitab, S-PLUS, SAS, SPSS, Stata, Systat

推荐包 foreign 提供了导入这些统计系统产生的文件, 导出 Stata或SPSS 格式数据的工具。在一些情况下, 这些函数可能 read.table 需要的内存少很多。 write.foreign (见导出到文本文件(Export to text files)) 现在支持 SPSSStata 类型的数据导出机制。

EpiInfo 版本5和6保存的数据是自我描述的固定宽度 的文本文件。 read.epiinfo 可以读入这些 .REC 文件 到一个 R 数据框。 EpiData 也产生这种格式的数据。

函数 read.mtp 可以导入`Minitab便携式工作表' (Minitab Portable Worksheet)文件。该函数 返回一个以工作表作为分量的 R 列表。

函数 read.xport 读入SAS传输格式(XPORT)的文件,并且返回 一个数据框的列表。如果你的系统安装了SAS, 函数 read.ssd 可用来创建和运行以传输格式保存 SAS永久数据集(.ssd.sas7bdat)的SAS脚本。 它随后调用 read.xport 去读取 结果文件。包 Hmisc 有个类似的函数 sas.get,它 也是允许SAS脚本。

函数 read.S 可以读取(32位)Unix或Windows(或其它操作系统) 上由S-PLUS 3.x,4.x 或 2000 产生二进制对象。这能读取许多但不是全部的 S 对象:特别是,它只能读取向量,矩阵,数据框和含有这类数据对象的 列表。

函数 data.restore 用于读 S-PLUS 的转储数据(data dump) (由 data.dump 创建)。它有同样的限制(除了α平台 的转储数据也可被读取)。它还可能读取来自 S-PLUS 5.x 和 6.x 通过data.dump(oldStyle=T) 写出的转储数据。

如果可以访问 S-PLUS,更可靠的方式是在 S-PLUS 里面导出 (dump)对象文件然后在 R 里面载入执行(source) 该文件。在S-PLUS 5.x 和 6.x 里面,需要用 dump(..., oldStyle=T),对于读入大对象, 优先使用用转储文件作为批量的脚本而非source

函数 read.spss 可以读取 SPSS 里面 `save' 和 `export' 命令创建的文件。 它返回一个由被保存数据集中每个变量对应分量的列表。 含有值标签的 SPSS 变量可以选择转换为 R 因子。

SPSS 数据入口(Data Entry)是创建数据输入的窗体。 默认情况下,它创建一种read.spss不能处理的 含有额外格式信息的数据文件。但是,它可能以普通的 SPSS 格式导出数据。

Stata 的 .dta 文件是二进制文件格式。 函数read.dtawrite.dta 可以读写版本 5,6,7/SE和8的Stata 文件。 有值标签的Stata变量可以选择性地转换为 R 因子(反之也行)。

函数 read.systat 可以读取 Systat 在小字节序机器(little-endian machines)(比如Windows)上保存(SAVE)的 矩形的数据文件(mtype = 1)。 这些文件的扩展名为 .sys.syd (最近)。