epx.extract: Helper: Extract Data From Epx-File

View source: R/extractInformation.R

epx.extractR Documentation

Helper: Extract Data From Epx-File

Description

A helper function of read.EpiData, to extract the xml-like data from an epx-file.

Usage

epx.extract(x)

Arguments

x

An EpiData epx-file

Value

A list, containing the following elements:

$epx:

The entire xml_document from the epx-file.

$infoEpiData:

Information about EpiDatas set up.

$infoStudy

Information about the study.

$infoSeparators

Used separators.

$infoDataSets

Summary information about the data sets.

$infoParentDataSet

Information about parent data sets in relational data bases.

$perDataSet

Information from each data set.

$infoKeyVars

Key variables in relational data bases.

Examples

# This demonstrates the effects of all six helper functions to \code{\link{read.EpiData}}.

(x <- epx.example("SomeFakeData.epx"))

# epx.extract() extracts the information from an EpiData-epx file
(info <- epx.extract(x))

# epx.read() transforms the information into a data.frame
(dat <- lapply(info$perDataSet, epx.read))
# Combine dat and info in a data-set-wise list
# This is a necessary detour to handle EpiData files with multiple data sets.
perDataSet <- mapply(function(dat, info) list(list(dat = dat, info = info)), dat, info[[7]])

# epx.labels() replaces value codes with value labels
(datLab <- epx.labels(perDataSet$ds1$dat, perDataSet$ds1$info))

# epx.missing() replaces definde missing values with NA
(datMis <- epx.missing(perDataSet$ds1$dat, perDataSet$ds1$info))

# epx.class() sets variable classes according to the field types defined in EpiData
(datClass <- epx.class(perDataSet$ds1$dat, perDataSet$ds$info))

# Bringing it all together
read.EpiData(epx.example("SomeFakeData.epx"))

JohannPopp/epidatR documentation built on Jan. 29, 2024, 1:23 a.m.