当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R write.foreign 编写文本文件和代码来读取它们


R语言 write.foreign 位于 foreign 包(package)。

说明

该函数通过将数据写入free-format文本并编写单独的指令文件供其他包读取数据,将简单数据帧导出到其他统计包。

用法

write.foreign(df, datafile, codefile,
              package = c("SPSS", "Stata", "SAS"), ...)

参数

df

一个 DataFrame

datafile

数据输出的文件名

codefile

代码输出的文件名

package

包装名称

...

各个 writeForeign 函数的其他参数

细节

该函数的工作由 foreign:::writeForeignStataforeign:::writeForeignSASforeign:::writeForeignSPSS 完成。要添加对另一个包(例如 Systat)的支持,请创建一个函数 writeForeignSystat,其前三个参数与 write.foreign 相同。当 package="Systat" 时,这将从 write.foreign 调用。

所有包都支持数字变量和因子:SAS 还支持日期和时间( DatedatesdatePOSIXt 类)和逻辑向量,SPSS 支持字符。

对于 package="SAS",有可选参数 dataname = "rdata" 接受将作为 SAS 数据集名称的字符串,validvarname 接受 "V6""V7" ,以及 libpath = NULL 接受将作为数据集所在目录的字符串。当生成的 SAS 代码运行时,将写入目标 SAS 数据集。

对于 package="SPSS",有一个可选参数 maxchars = 32L 采用整数,导致变量名称(不是变量标签)缩写为不超过 maxchars 字符。为了与 SPSS 版本 12 及之前版本兼容,请将其更改为 maxchars = 8L 。在 SPSS 版本 13 或更高版本的单字节语言环境中,可以将其设置为 maxchars = 64L

对于 package="SPSS" ,作为副作用,小数指示器始终由 SET DECIMAL=DOT. 设置,这可能会覆盖指示器的用户设置或其从当前区域设置派生的默认值。

看不见的NULL

例子

## Not run: 
datafile <- tempfile()
codefile <- tempfile()
write.foreign(esoph, datafile, codefile, package="SPSS")
file.show(datafile)
file.show(codefile)
unlink(datafile)
unlink(codefile)

## End(Not run)

作者

Thomas Lumley and Stephen Weigand

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Write Text Files and Code to Read Them。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。