Functions to support the ICES Transparent Assessment Framework < https://taf.ices.dk> to organize data, methods, and results used in ICES assessments. ICES is an organization facilitating international collaboration in marine science.
o Added function period() to paste period string for DATA.bib entries.
o Removed argument 'name' from taf.skeleton(). The default behavior is now to create initial directories and scripts in the current working directory.
o Changed taf.library() so it loads a package instead of changing the library path.
o Changed default size of taf.png(). Changed text size in zoom() accordingly and renamed arguments. The zoom() function is now generic.
o Changed write.taf() so it gives a warning if column names are duplicated.
o Added function sourceDir() to read all *.R files from a directory.
o Added function zoom() to change text size in a lattice plot.
o Added arguments 'config', 'data', and 'software' to taf.bootstrap().
o Added argument 'append' to draft.data() and draft.software(). Code contributed by Alexandros Kokkalis.
o Added argument 'colname' to xtab2taf().
o Improved draft.data() so the default value of 'year' is the current year and user can pass period=FALSE.
o Improved file.encoding() so it handles spaces in filenames.
o Improved os.unix() so it recognizes both Linux and macOS operating systems.
o Improved process.bib() so it supports 'bundle' field and multiple filenames in 'source' field, separated by newlines.
o Improved write.taf() so file="" prints to screen, regardless of dir.
o Added function file.encoding() to examine file encoding. Added functions latin1.to.utf8() and utf8.to.latin1() to convert file encoding.
o Added function line.endings() to examine line endings.
o Added arguments 'author', 'year', and 'title' to draft.software(), and improved it so it also handles software other than R packages.
o Added argument 'clean' to taf.bootstrap().
o Added argument 'create' to taf.library().
o Improved process.bib() so it does not require taf.bootstrap() to create 'data' and 'software' directories.
o Improved taf.skeleton() so every script starts with library(icesTAF) and mkdir() to create a working directory.
o Added functions taf.bootstrap() and process.bib() to set up data files and software.
o Added functions draft.data() and draft.software() to create initial draft versions of metadata files.
o Added functions os(), os.linux() and os.macos() to detect more operating systems than before.
o Updated colors (taf.green, taf.orange, taf.blue, taf.dark, taf.light) to make them equally intense and easy to distinguish.
o This release introduces package dependencies to parse BibTeX files (bibtex) and install packages from GitHub (remotes), with further underlying package dependencies.
o Added function taf.library() to work with packages in a local TAF library.
o Added function rmdir() to remove an empty directory.
o Added functions os.unix() and os.windows() to determine OS family.
o Added function taf.unzip() to extract files from zip archives.
o Moved functions read.dls() and write.dls() to the 'icesAdvice' package.
o Changed clean(), makeAll(), makeTAF(), sourceAll(), and taf.skeleton() to align with new data-model workflow.
o Renamed function tafpng() to taf.png().
o Added argument 'destfile' to download().
o Added argument 'underscore' to write.taf().
o Added argument 'stringsAsFactors' to read.taf().
o Improved multitable support for read.taf() and write.taf().
o Changed sourceTAF(), sourceAll(), makeTAF(), and makeAll() so they never delete the 'begin' folder.
o Changed sourceAll(), makeTAF(), makeAll() so they don't set the working directory.
o Changed clean() so user can specify directories to remove.
o Changed write.taf() to search in the global workspace if 'x' is a string.
o Changed cp() to enforce safeguards when moving files.
o Removed function upload(). Initial data and model files are now in the 'begin' folder of each assessment.
o Added function plus() to rename plus group column.
o Added argument 'dir' to write.taf().
o Changed read.taf() and write.taf() so they can read/write many tables in one call.
o Changed write.taf() so the name of the data frame is the default filename.
o Changed cp() to preserve the timestamp when copying a file.
o Changed default file encoding in read.taf() to UTF-8.
o Replaced argument 'local' with 'rm' in sourceTAF().
o Added argument 'colname' to flr2taf().
o Added functions makeTAF() and makeAll() to run TAF scripts as needed.
o Added arguments 'include' and 'engine' to make().
o Added argument 'local' to sourceTAF(), replacing the 'rm' argument.
o Changed sourceAll() to only run TAF scripts: data.R, input.R, model.R, output.R, and report.R.
o Added argument 'grep' to div() and rnd().
o Added function upload() to upload file to TAF database. Added function download() to download file in binary mode.
o Added function msg() to show a message, as well as the current time.
o Added function tafpng() to open a graphics device. Added function lim() to compute axis limits.
o Added function div() to divide column values with a common number. Added function rnd() to round column values.
o Added function taf.skeleton() to create an empty template for a TAF analysis.
o Added function deps() to list dependencies.
o Renamed function sourceAtoZ() to sourceAll().
o Added argument 'move' to cp(). Added argument 'clean' to sourceTAF(). Added argument 'column' to tt().
o Added color objects: taf.green, taf.orange, taf.blue, taf.dark, and taf.light.
o Added example data frame summary.taf to demonstrate div() and rnd().
o Improved package description.
o Added function make() to run script if needed, and sourceAtoZ() to run all scripts in alphabetical order. Added clean() to remove TAF directories.
o Added function sourceTAF() to run scripts. Added cp() to copy files and mkdir() to create a directory. Added read.taf() and write.taf() to read and write TAF tables. Added long2taf(), taf2xtab(), tt(), and xtab2taf to convert between table formats.
o Renamed functions readDLS() and writeDLS() to read.dls() and write.dls().
o Removed function dir.remove() which is no longer needed in TAF scripts.
o Added example data frames catage.long, catage.taf, and catage.xtab to demonstrate different table formats.
o Added functions flr2taf() and taf2long() to convert between table formats.
o Initial release, with five functions: dir.remove(), dos2unix(), readDLS(), unix2dos(), and writeDLS().