将.dta数据加载到R中需要很长时间

时间:2015-04-10 20:25:08

标签: r

某些机密数据存储在服务器上,可供研究人员通过远程访问访问。

  • 研究人员可以通过某些(我认为是cisco)远程客户端登录,并在同一主机上共享虚拟机
  • 虚拟机上运行64位Windows

系统似乎针对Stata进行了优化,我是第一个使用R来使用数据的人。客户端上没有安装RStudio,只有RGui 3.0.2

这是我的问题:数据以stata格式保存(.dta),我需要在R中打开它。目前我正在做

read.dta(fileName, convert.factors = FALSE)[fields]

在较小的文件(大约200MB)中加载需要1-2分钟。但是,在主文件(3-4 GB)中加载需要很长时间,比我的耐心时间长。在此期间,R GUI不再响应。

我可以在我自己的机器(OS X,RStudio)上使用较小的数据样本测试我的代码,这样可以正常工作。这是

  • 因OS X + RStudio或仅
  • 因为文件的大小?

大学在他们的环境中对类似的文件使用Stata,这对他来说很好。

我可以做些什么来改善这种情况?我想出的可能的解决方案是

  • 以某种方式将数据加载到R中(可能有一种方法不需要所有这些内存使用)。我也可以访问stata。如果所有其他方法都失败了,我可以在Stata中准备数据,例如将其分成更小的部分并在R中重新组装
  • 要求他们为我的VM用户分配更多内存(如果这确实是问题)
  • 要求他们提供RStudio作为后端(即使这不是更快,也许它不太容易崩溃)

1 个答案:

答案 0 :(得分:1)

当然文件的大小是一个主要因素,但机器和配置也可能是。没有更多信息很难说。您需要64位操作系统和64位版本的R.

我不认为RStudio会帮助或阻碍这个过程。

如果进程线性扩展,则意味着您的大数据案例需要(120秒)*(4096 MB / 200 MB)= 2458秒,或大约四分之三小时。你等了多久了?

进程可能不是线性的。

处理器是否取得了进展?如果您检查了CPU和内存,该进程是否仍在运行?它是否进行了大量的页面交换?