【发布时间】:2016-09-14 07:31:37
【问题描述】:
我正在尝试使用 SASxport 和外部包中的 read.xport 将 xpt 文件导入 R,但不知何故我一直收到以下错误消息:
Error in lookup.xport.inner(file) :
SAS transfer file has incorrect library header
使用 Hmisc 包中的 sasxport.get() 也会出现同样的错误。但是,在我的 PC 上的 SAS 查看器下,文件本身看起来很好。有没有人遇到过这个问题,或者你能提出解决方案吗?谢谢。
使用文本编辑器打开文件时,标题如下所示:
HEADER RECORD*******LIBRARY HEADER RECORD!!!!!!!000000000000000000000000000000 SAS SAS SASLIB 6.06 bsd4.2
【问题讨论】:
-
这可能是提供实际文件作为链接的合适情况,以便我们可以在自己的环境中进行测试。也可以试试
sas7bdat -
@CyrusMohammadian 我知道这会容易得多。但是,该文件是公司专有的,我无权披露它。对不起。
-
Xport 文件是二进制文件。如果将它们从一个系统移动到另一个系统,请确保将它们作为二进制文件而不是 ASCII 文件移动。如果插入或删除 '0D'x 字符,则会损坏文件。
-
XPT 文件不是二进制文件。请参阅 SAS 技术说明:“所有传输数据集记录的长度为 80 字节。如果没有足够的数据达到 80 字节,则用 ASCII 空白填充记录至 80 字节。所有字符数据都以 ASCII 存储,无论操作系统。”