is_scalar
which is an issue in package jti
normalize
now returns 1
if applied to a numeric
div(x,y)
with x
being a scalar. The result was the same as div(y,x)
.numerics
can now be marginalized. The result is the numeric itself.as_sparta.data.frame
does no longer convert to an array first (expensive) and is therfore much more efficient now.marg
is now more efficient when y
is character(0)
sparta_unity_struct
can now be sliced if drop
TRUE=.slice
mult
and div
is now faster when one of the tables is a subtale of the other. This is especially useful in connection with Bayesian networks and the Junction Tree Algorithm.sum, normalize, get_vals
and vals
now works as expected on sparta_unity
classsparta_rank
and table_size
as_array
now works for sparta_unity
drop
is TRUE
in slice
for tables that should reduce to one row.sparsity
: determines the ratio of non-zero cells and the size of the statespace.as_df
: convert a sparse table to a data.frame
. Either with or without zero cellsget_values
: The same as the existing vals
unity tables now have a rank attribute which is just the unique value that all cells have. Because of this, a unity table can now be multiplied with a scalar. And regular sparta tables can be multiplied with unities of different rank. As a consequence, unities can now be marginalized also.
New function equiv
to test if two sparta objects are identical
Fixed a bug when assigning dimnames to the result of multiplication
marg
, slice
, mult
and div
has been fixed. These functions were prone to errors when the number of variables exceed 10
.