如何在R中读取大型SAS数据

时间:2015-08-17 05:56:25

标签: r sas

我有一个2GB的sas7bdat数据集,我想用R读取。我使用sas7bdat包读取数据集但是在使用read.sas7bdat之后,没有来自R的响应并且它继续运行数小时而没有任何输出。

我也尝试过使用sas7bdat和haven软件包。 任何人都可以帮我快速读取R中的数据。

1 个答案:

答案 0 :(得分:4)

实施例

/* SAS */
libname rdata "C:/tmp";
data rdata.test; 
    input x y;
    datalines;
 5 6
 7 8
 ;
 run;

# R
setwd("C:/tmp")

# install.packages("haven")
library(haven)
test <- read_sas("test.sas7bdat")

read_sas包中的haven函数应该比sas7bdat包的函数快得多。根据哈德利的GitHub description

  

可以读取SAS的专有二进制格式(SAS7BDAT)。另一个   在CRAN上打包的那个,sas7bdat,是为了记录而创建的   逆向工程的努力。因此它的实现是为了   实验,而不是效率。避风港明显更快   并且还应该支持更广泛的SAS文件(包括   压缩),并使用SAS7BCAT文件。