我有一个2GB的sas7bdat数据集,我想在R中读取.我使用sas7bdat包来读取数据集但是在使用read.sas7bdat之后,R没有响应并且它在没有任何输出的情况下继续运行数小时.
我也试过使用sas7bdat和避免包.任何人都可以帮我快速读取R中的数据.
例子
/* 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")
Run Code Online (Sandbox Code Playgroud)
read_sas
包中的函数应该haven
比包中的函数快得多sas7bdat
。根据 Hadley 的GitHub 描述:
可以读取 SAS 专有的二进制格式 (SAS7BDAT)。CRAN 上的另一个软件包 sas7bdat 就是为了记录逆向工程工作而创建的。因此,它的实现是为了实验而设计的,而不是为了效率。Haven 速度明显更快,并且还应该支持更广泛的 SAS 文件(包括压缩文件),并且可以使用 SAS7BCAT 文件。