This is a generic class used by subclasses revenue
and expense
.
# S4 method for transaction
initialize(
.Object,
type,
category,
name,
per_use,
missing = c("rep", "interpol", "0"),
due_month = NA,
valid_types = "default",
...,
.list = list()
)
The object to initialize.
A character string defining the type of transaction as defined by valid_types
.
A character string, custom category for this transaction.
A character string, custom name or ID for this transaction.
If given, the numbers provided via ...
(or .list
) are
not interpreted as the monetary value, but as number of transactions in that
month, and the actual fiscal value is calculated by multiplying it with the value
given here.
One of "rep"
, "interpol"
, or "0"
.
This defines how gaps are filled: If "rep"
, present values are repeated
until the next valid value; if "interpol"
, missing values are interpolated
using approx
; if "0"
, missing values are set to zero.
Character vector to define months where transactions are due. This argument
causes previous amounts to be cumulated and thereby postponed to the given month of a year.
Combined with e.g. .list
this makes it easier to turn monthly amounts into quarterly
ones.
A character string, the model types defined by
set_types
to be used for validation.
If "default"
, pre-defined example types are used.
Numeric values named in YYYY.MM
format,
defining the transaction amount for a particular month.
The resulting object will automatically cover all months from the earliest to the latest among all given values.
An alternative to ...
if the values are already present as a list. If both are given,
their values
will be merged into one list.
type
A character string, valid values are defined by the subclasses.
category
A character string, custom category for this transaction.
name
A character string, custom name or ID for this transaction.
value
Data frame containing all transactions,
each month of each year in a column named YYYY.MM
.
valid_types
A character string, the model types defined by
set_types
to be used for validation.
Should you need to manually generate objects of this class, the constructor function
transaction(...)
can be used instead of new("transaction", ...)
. It
uses the same arguments like the initialize()
method.
You should either provide exactly one named value for each month of the full scope of the respective business plan, or at least two, representing the first and last value.
How missing values are dealt with depends on the value of the missing
parameter.
By default (missing="rep"
) a given value will be repeated until a later value comes,
which will then be repeated further on. That is,
you can define a staring value and only have to
provide updated values for months that differ from the previous value.
Alternatively, missing="interpol"
will interpolate missing values linearly, and
missing="0"
fills missing values with zeroes.