使用haven::write_sav() 放大.sav 文件大小

rlu*_*ech 5 r filesize spss r-haven

我正在使用包 Haven 从 R 编写 SPSS .sav 文件,这通常对我来说效果很好。但是我注意到使用 write_sav() 在磁盘上写入的 .sav 文件大小似乎比必要的大得多。每当我在 SPSS 中打开并保存 write_sav() 写入的 .sav 文件时,文件大小都会减少约 10 倍!

这对我很重要,因为我正在为其他人向 SPSS 写入相当大的数据,有时 SPSS 拒绝打开一个非常大的文件。如果 write_sav() 以“真正的”原生 SPSS 方式更有效地存储,也许这不会出现问题?

有没有人知道这个问题,也许有一个有用的评论?需要安装 SPSS 才能复制此问题

Moo*_*han 0

Haven write_sav() 文档中尚不清楚,但听起来它将它们保存为未压缩的 .sav 文件。(大多数)SPSS 安装的默认设置是保存为压缩文件。SPSS 有一个额外的压缩选项“zCompressed”,它会生成更小的文件,但这些文件通常无法在 SPSS 之外打开。

你可以像这样尝试一下;

Save outfile = 'Uncompressed file.sav'
    /UnCompressed.
Save outfile = 'Compressed file.sav'
    /Compressed.
Save outfile = 'ZCompressed file.zsav'
    /ZCompressed.
Run Code Online (Sandbox Code Playgroud)

请注意,.zsav 文件扩展名不是必需的(可以是 .sav),但使用它来明确兼容性可能存在问题的位置被认为是最佳实践。

有关更多信息,请参阅https://www.ibm.com/support/knowledgecenter/en/SSLVMB_21.0.0/com.ibm.spss.statistics.help/syn_save_compressed_uncompressed.htm 。