R:如何在没有 RAM 限制的情况下快速读取大型 .dta 文件

标签 r memory stata large-files

我有一个 10 GB .dta Stata 文件,我正在尝试将其读入 64 位 R 3.3.1。我正在使用大约 130 GB RAM(4 TB HD)的虚拟机,.dta 文件大约有 300 万行和 400 到 800 个变量。

我知道 data.table() 是读取 .txt 和 .csv 文件的最快方法,但是有人建议将大型 .dta 文件读取到 R 中吗?将文件作为 .dta 文件读入 Stata 大约需要 20-30 秒,尽管我需要在打开文件之前设置工作内存最大值(我将最大值设置为 100 GB)。

我没有尝试过在 Stata 中导入 .csv,但我希望避免使用 Stata 接触该文件。通过 Using memisc to import stata .dta file into R 找到解决方案但这是假设 RAM 稀缺的情况下。就我而言,我应该有足够的 RAM 来处理该文件。

最佳答案

在 R 中加载大型 Stata 数据集的最快方法是使用 readstata13 包。我在大型数据集 in this post 上比较了 foreignreadstata13haven 包的性能结果反复表明,readstata13 是在 R 中读取 Stata 数据集最快的可用软件包。

关于R:如何在没有 RAM 限制的情况下快速读取大型 .dta 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38820594/

相关文章:

r - 如何相对于彼此移动两个几何体的 x 轴位置

python - BLAST 数据库分配错误

ios - 苹果 map 消耗太多内存

python - 存储用户移动位置的最佳数据库,优先考虑读写速度?

regex - 如何从宏中提取唯一字符串?

r - 如何更改数据集中某些信息的列?

r - 如何使用基本 R 绑定(bind)列表中的每个第 n 个元素?

r - 在 R 中绘制分位数

syntax - 马塔错误3204

loops - 随着样本量的增加循环回归