A missing value representation for Julia for databases and statistics
The package is registered in
METADATA.jl and so can be installed with
The package is tested against the current Julia
0.6 release and nightly on Linux, OS X, and Windows.
Contributions are very welcome, as are feature requests and suggestions. Please open an issue if you encounter any problems or would just like to ask a question.
Missings.jl provides a single type
Missing with a single instance
missing which represents a missing value in data.
missing values behave essentially like
NULL in SQL or
NA in R.
missing differs from
nothing (the object returned by Julia functions and blocks which do not return any value) in that it can be passed to many operators and functions, prompting them to return
missing. Where appropriate, packages should provide methods propagating
missing for the functions they define.
The package defines standard operators and functions which propagate
missing values: for example
1 + missing and
cos(missing) both return
missing. In particular, note that comparison operators
=> (but not
isless) also propagate
missing, so that
1 == missing and
missing == missing both return
ismissing to test whether a value is
missing. Logical operators
xor implement three-valued logic: they return
missing only when the result cannot be determined. For example,
true & missing returns
true | missing returns
In many cases,
missing values will have to be skipped or replaced with a valid value. For example,
sum([1, missing]) returns
missing due to the behavior of
sum(Missings.skip([1, missing]) to ignore
sum(Missings.replace([1, missing], 0)) would have the same effect.
Missings.fail throws an error if any value is found while iterating over the data. These three functions return an iterator and therefore do not need to allocate a copy of the data. Finally, the
Missings.coalesce function is a more complex and powerful version of
about 1 month ago