【问题标题】:Reading in 6GB SPSS (.dta) dataset into R将 6GB SPSS (.dta) 数据集读入 R
【发布时间】:2020-09-23 12:41:10
【问题描述】:

我的 iMac(操作系统:Catalina 10.15.4)处理器 (3.1 GHz) 上有一个 6.1 GB 的大数据文件,我尝试了多种方法将文件读入我的 R 全局环境。

library(foreign)
data <- read.dta(file = "File.dta", missing.type = TRUE)

install.packages("readstata13")
library(readstata13)
data <- read.dta13(file = "File.dta")

library(haven)
data <- read_dta('File.dta')

library(memisc)
data <- as.data.frame(file = "File.dta")

我得到一个错误的每一种方式: 错误:向量内存耗尽(达到限制?)

我已尝试使用以下代码来解决此问题,以增加我使用的内存:

memory.limit(size = 12000) #This is a Windows only command
Sys.setenv('R_MAX_VSIZE'=32000000000)
options(scipen = 999)

但这些都没有奏效。

有没有人在使用 Mac 时遇到过这个问题并且能够解决这个问题?

【问题讨论】:

  • 每个命令也立即吐出错误 - 几乎没有任何时间程序实际处理。
  • 你使用 RStudio 吗?我不知道,这是否仍然适用:stackoverflow.com/a/52612848/6503141
  • 谢谢@Bernhard,我确实使用 RStudio!我会审查这个线程。

标签: r macos large-data


【解决方案1】:

最好的方法是只读取选定的数据列:

data <- read_dta("032720.dta", col_select=c("WP5AA","YEAR_WAVE", "WP16", "WP18", "WP23",
                                                            "WP2319", "INCOME_5", "WP119",
                                                            "WP5358", "WP128", "EMP_2010",
                                                            "WP1219", "WP1220", "WP1223", "WP1230", 
                                                            "WP1233Recoded", "income_2", "WP3117", "WP60", "WP63", "WP67"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 2011-04-08
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 2023-04-08
    相关资源
    最近更新 更多