在R中,我使用了外部库中的write.foreign()函数,以便将数据帧写为SAS数据集.
write.foreign(df = test.df, datafile = 'test.sas7bdat', codefile = 'test.txt', package = "SAS")
Run Code Online (Sandbox Code Playgroud)
写入SAS数据文件,但是当我尝试在SAS Viewer 9.1(Windows XP)中打开它时,收到以下消息 - "不支持SAS数据集文件格式".
注意:我通常不熟悉SAS,所以如果有一个常规SAS用户知道的答案,请原谅我的无知.
write.foreignwith选项package="SAS"实际上会写出一个逗号分隔的文本文件,然后创建一个带有SAS语句的脚本文件来读取它.您必须运行SAS并提交脚本以将文本文件转换为SAS数据集.你的电话看起来应该更像
write.foreign(df=test.df, datafile="test.csv", codefile="test.sas", package="SAS")
Run Code Online (Sandbox Code Playgroud)
请注意不同的扩展名.此外,write.foreign将因子变量写为数字变量,其格式控制其外观 - 即因子的R定义.如果您只想要字符表示,则必须as.character在导出之前转换因子.
我也不是SAS用户,但我以前使用write.xport()它并且工作正常.我粗略的理解是有两种类型的SAS文件,内部文件和XPORT文件.XPORT是那些在不同版本,架构等之间更兼容的XPORT.