Learn R Programming

LaF (version 0.8.6)

read_dm_blaise: Read in Blaise data models

Description

Read in Blaise data models

Usage

read_dm_blaise(filename, datafilename = NA, encoding = "latin1")

Value

Returns a data model (which is a list containing all the relevant information to open a file using laf_open. When the file contains more than one data model a list of data models is returned and a warning issued.

Arguments

filename

the filename of the file containing the data model.

datafilename

the filename of the data file to which the data model belongs.

encoding

the encoding used in the file. See readLines.

Details

The function reads the data model from file and returns a list that can be used by laf_open to open the file for reading. Only a subset of the most common features found in Blaise files are supported. If part of the data model can not be parsed a warning is given.

See Also

See write_dm to write the data model to file. The data models can be used to open a file using laf_open.

Examples

Run this code
# Create some temporary files
tmpdat <- tempfile(fileext="dat")
tmpbla <- tempfile(fileext="bla")

# Generate test data
lines <- c(
    " 1M 1.45Rotterdam ",
    " 2F12.00Amsterdam ",
    " 3  .22 Berlin    ",
    "  M22   Paris     ",
    " 4F12345London    ",
    " 5M     Copenhagen",
    " 6M-12.1          ",
    " 7F   -1Oslo      ")
writeLines(lines, con=tmpdat)

# Create a file containing the data model
writeLines(c( 
    "DATAMODEL test", 
    "FIELDS", 
    "  id     : INTEGER[2]", 
    "  gender : STRING[1]", 
    "  x      : REAL[5] {comment}", 
    "  city   : STRING[10]", 
    "ENDMODEL"), con=tmpbla)
model <- read_dm_blaise(tmpbla, datafilename=tmpdat)
laf <- laf_open(model)

# Cleanup
file.remove(tmpbla)
file.remove(tmpdat)

Run the code above in your browser using DataLab