read_sas()
supports both sas7bdat files and the accompanying sas7bcat files
that SAS uses to record value labels.
Usage
read_sas(
data_file,
catalog_file = NULL,
encoding = NULL,
catalog_encoding = encoding,
col_select = NULL,
skip = 0L,
n_max = Inf,
cols_only = deprecated(),
.name_repair = "unique"
)
Arguments
- data_file, catalog_file
Path to data and catalog files. The files are processed with
readr::datasource()
.- encoding, catalog_encoding
The character encoding used for the
data_file
andcatalog_encoding
respectively. A value ofNULL
uses the encoding specified in the file; use this argument to override it if it is incorrect.- col_select
One or more selection expressions, like in
dplyr::select()
. Usec()
orlist()
to use more than one expression. See?dplyr::select
for details on available selection options. Only the specified columns will be read fromdata_file
.- skip
Number of lines to skip before reading data.
- n_max
Maximum number of lines to read.
- cols_only
- .name_repair
Treatment of problematic column names:
"minimal"
: No name repair or checks, beyond basic existence,"unique"
: Make sure names are unique and not empty,"check_unique"
: (default value), no name repair, but check they areunique
,"universal"
: Make the namesunique
and syntactica function: apply custom name repair (e.g.,
.name_repair = make.names
for names in the style of base R).A purrr-style anonymous function, see
rlang::as_function()
This argument is passed on as
repair
tovctrs::vec_as_names()
. See there for more details on these terms and the strategies used to enforce them.
Value
A tibble, data frame variant with nice defaults.
Variable labels are stored in the "label" attribute of each variable. It is not printed on the console, but the RStudio viewer will show it.
write_sas()
returns the input data
invisibly.
Examples
path <- system.file("examples", "iris.sas7bdat", package = "haven")
read_sas(path)
#> # A tibble: 150 × 5
#> Sepal_Length Sepal_Width Petal_Length Petal_Width Species
#> <dbl> <dbl> <dbl> <dbl> <chr>
#> 1 5.1 3.5 1.4 0.2 setosa
#> 2 4.9 3 1.4 0.2 setosa
#> 3 4.7 3.2 1.3 0.2 setosa
#> 4 4.6 3.1 1.5 0.2 setosa
#> 5 5 3.6 1.4 0.2 setosa
#> 6 5.4 3.9 1.7 0.4 setosa
#> 7 4.6 3.4 1.4 0.3 setosa
#> 8 5 3.4 1.5 0.2 setosa
#> 9 4.4 2.9 1.4 0.2 setosa
#> 10 4.9 3.1 1.5 0.1 setosa
#> # ℹ 140 more rows