Write an ASCII text representation in either "D" format or "P" format. The "D" format makes use of dput and dget and produces an R representation of the list. The "P" format represents a simple list in an easy-to-read, ad hoc PBSmodelling format.
writeList(x, fname, format="D", comments="")
Arguments
x: R list object to write to an ASCII text file.
fname: file name of the text file to create.
format: format of the file to create: "D" or "P".
comments: vector of character strings to use as initial-line comments in the file.
Details
The D Format
The "D" format is equivalent to using R's base functions dput and dget, which support all R objects.
The P Format
The "P" format only supports a list that may contain lists, vectors, matrices, arrays, and data frames. Scalars are treated like vectors. It writes each list element using the following conventions:
$ denotes the start of a list element, and the element's name follows this character; for nested lists, $ separates each nesting level;
$$, on the next line, denotes a line used to describe the element's structure, which includes object type, mode(s), names (if vector), rownames (if matrix or data), and colnames (if matrix or data); and
subsequent lines contain data (one line for a vector and multiple lines for a matrix or other data).
If a list's elements are unnamed, have the name NA, or have the empty string as a name, this function generates names ("P"
format only). If two list elements share the same name, the list will export correctly, but it will import incorrectly.
Arrays with three or more dimensions have dim and dimnames arguments. dim describes the dimension of the data (a vector as returned by dim(some_array)) and dimnames is a vector of length sum(dim(some_array)+1)
and is constructed as follows:
foreach dimension d, first append the name of the dimension d and thenappend all labels within that dimension
Multiple rows of data for matrices or data frames must have equal numbers of entries (separated by whitespace).
Note that array data are written the same format as they are displayed in the R console:
nrow=dim()[1], ncol=dim()[2]
repeated by scrolling through successively higher dimensions, increasing the index from left to right within each dimension. The flattened table will have dim()[2] columns.
For complete details, see PBSmodelling-UG.pdf at the location described when loading this package.
Returns
String containing the file name.
Author(s)
Alex Couture-Beil, Vancouver Island University, Nanaimo BC
See Also
packList, readList, unpackList
Examples
## Not run:local(envir=.PBSmodEnv,expr={ cwd = getwd(); setwd(tempdir()) test <- list(a=10,b=euro,c=view(WorldPhones),d=view(USArrests)) writeList(test,"test.txt",format="P", comments=" Scalar, Vector, Matrix, Data Frame") openFile("test.txt") setwd(cwd)})local(envir=.PBSmodEnv,expr={ cwd = getwd(); setwd(tempdir())##Example of dimnames for Arrays dimnames(Titanic) writeList( list( Titanic ), format="P") setwd(cwd)})## End(Not run)