read_all_sas {EDCimport}R Documentation

Read all .sas7bdat files in a directory

Description

Read all .sas7bdat files in a directory. Formats (factors levels) can be applied from a procformat.sas SAS file, or from a format dictionary. See the "Format file" section below. Column labels are read directly from the .sas7bdat files.

Usage

read_all_sas(
  path,
  ...,
  format_file = "procformat.sas",
  subdirectories = FALSE,
  datetime_extraction = "guess",
  verbose = getOption("edc_read_verbose", 1),
  clean_names_fun = NULL
)

Arguments

path

[character(1)]
the path to the directory containing all .sas7bdat files.

...

unused

format_file

[character(1)]
the path to the file that should be used to apply formats. See section "Format file" below. Use NULL to not apply formats.

subdirectories

[logical(1)]
whether to read subdirectories

datetime_extraction

[POSIXt(1)]
the datetime of the data extraction. Default to the most common date of last modification in path.

verbose

[numeric(1)]
one of c(0, 1, 2). The higher, the more information will be printed.

clean_names_fun

[Deprecated] use edc_clean_names() instead.

Value

a list containing one dataframe for each .xpt file in the folder, the extraction date (datetime_extraction), and a summary of all imported tables (.lookup).

Format file

format_file should contain the information about SAS formats. It can be either:

See Also

Other EDCimport reading functions: read_all_csv(), read_all_xpt(), read_trialmaster()

Examples

# Create a directory with multiple sas files.
path = paste0(tempdir(), "/read_all_sas")
dir.create(paste0(path, "/subdir"), recursive=TRUE)
haven::write_sas(attenu, paste0(path, "/attenu.sas7bdat"))
haven::write_sas(mtcars, paste0(path, "/mtcars.sas7bdat"))
haven::write_sas(mtcars, paste0(path, "/subdir/mtcars.sas7bdat"))
haven::write_sas(esoph, paste0(path, "/esoph.sas7bdat"))

db = read_all_sas(path, format_file=NULL, subdirectories=TRUE) %>% 
  set_project_name("My great project")
db
edc_lookup()

[Package EDCimport version 0.6.0 Index]