gpt4 book ai didi

在 R 中仅读取 Stata .DTA 文件的一部分

转载 作者:行者123 更新时间:2023-12-01 23:08:38 26 4
gpt4 key购买 nike

如果某个地方有一个简单的答案,我提前道歉。似乎是这样的事情,但我似乎无法通过搜索 SO 或通过谷歌搜索在帮助文件中找到它。

我现在正在处理一些几 GB 的数据集。它足以容纳我可以访问的集群节点之一的内存,但需要相当多的时间来加载。对于使用此数据进行的许多调试/编程事件,我不需要加载整个文件,只需加载前几千个观察结果即可获得用于测试代码的数据集。我当然可以读取整个文件和子集,但我想知道是否有办法告诉 read.dta()只读取前 N 行?这当然会快得多。

我还可以使用适当的格式,例如 .csv,然后使用 read.csv()的 nrows 参数,但随后我会丢失 Stata 数据集中的因子标签(并且必须从输入到该项目的其他人的代码中重新创建相当多 GB 的数据。因此,首选 .dta 文件上的直接解决方案.

最佳答案

Stata 的二进制文件是逐行写入的,因此您可以更改 stataread.c 中的 R_LoadStataData 函数来限制读入的行数。但是,仅当您不需要值标签时,这才有效,因为它们写在文件末尾,并且需要您读取整个文件 - 这不会节省任何时间。

关于在 R 中仅读取 Stata .DTA 文件的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5621550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com