R 在不加载完整数据集的情况下显示 R 中 Stata 或 SAS 文件的变量 list/header

R show variable list/header of Stata or SAS file in R without loading the complete dataset

我得到了 SAS 和 Stata 格式的非常大的(每个大约 10 Gb)数据集。我打算将它们读入 R 中进行分析。

有没有办法在不读取整个数据文件的情况下显示它们包含哪些变量(列)?我经常只需要一些变量。我当然可以从文件资源管理器中查看它们,但它不可重现并且需要很多时间。

SAS 和 Stata 均可在系统上使用,但仅打开一个文件可能需要一分钟左右。

如果您有 SAS 运行 a proc contents 或 proc datasets 无需打开数据集即可查看其详细信息。您可能无论如何都想这样做,以便您可以验证变量类型、长度和格式。

libname myFiles 'path to your sas7bdatfiles';

proc contents data=myfiles.datasetName;
run;

参见下面的 dta 解决方案,您可以使用 read_sas 将其更新为 SAS

library(haven)

# read in first row of dta 
dta_head <- read_dta("my_data.dta",
                     n_max = 1)

# get variable names of dta
dta_names <- names(dta_head)

检查 dta 文件的名称和标签后,您可以删除 n_max = 1 选项并完整阅读,同时可能添加 col_select 选项指定变量的子集你想读进去。