gadget_file.Rd
Structures representing an individual GADGET data file.
gadget_file(file_name, components = list(), data = NULL, file_type = c())
# S3 method for gadget_file
print(x, ...)
# S3 method for gadget_file
as.character(x, ...)
read.gadget_file(file_name, file_type = c(), fileEncoding = "UTF-8")
Filename the output should be written to / read from
A list of lists, representing each component. See details.
A data.frame
representing the tabular data at the end of a file.
A character vector that alters how the file is parsed. Currently either NULL or "bare_component", which implies we write "something" instead of "[something]".
gadget_file object
File's characterset. Defaults to UTF-8
Unused
For our purposes, a gadget file is broken down into components, where the first component is any key/value data at the top of the file. Each section separated by "[something]" is considered a new component. Each component is a list of key /values, where values can be vectors of multiple values. Also components can have comments prepended by adding a "preamble" attribute.
In slight deviation to GADGET spec, we insist that tabular data begins with "; -- data --", to avoid any ambiguity on when it starts.
gadget_file
Returns a gadget_file object, a list of components.
print.gadget_file
Prints the gadget file as it would be written to the
filesystem.
as.character.gadget_file
Returns a character string of the gadget file
as it would be written to the filesystem.
read.gadget_file
Returns a gadget_file object, a list of components.
# Simple key/values
gadget_file("age", components = list(
list(length = 5, age = 1:5)))
#> ; Generated by mfdb 7.3.99
#> length 5
#> age 1 2 3 4 5
# Multiple components
gadget_file("likelihood", components = list(
list(),
component = structure(list(type = "penalty"), preamble = list("comment")),
component = structure(list(type = "penalty"), preamble = list("", "another comment"))))
#> ; Generated by mfdb 7.3.99
#> ; comment
#> [component]
#> type penalty
#> ;
#> ; another comment
#> [component]
#> type penalty
# Data
gadget_file("agelen", components = list(
list(stocknames = "cod")), data = data.frame(
area = c(102, 103),
number = c(2345, 5023)))
#> ; Generated by mfdb 7.3.99
#> stocknames cod
#> ; -- data --
#> ; area number
#> 102 2345
#> 103 5023