Currently, the Benford object, after internalizing the data, perfoms all first order tests (F1D, F2D, F3D, SD and L2D) by default.
Then one can use other methos so it also includes the Summation (F1D_Sum, F2D_Sum and F3D_Sum), the Mantissas and the Second Order (F1D_Sec, F2D_Sec...) tests.
However, when the data do not span across multiple orders of magnitude, some digits combinations may have no hits, especially the First-Two-Digits (45, 77...) and First-Three-Digits (122, 670,...), which will cause a DivisionbyZero error when computing the Z scores, since it uses the number of hits as denominator, as well noticed by @ditlevjoergensen in #40.
Ideally, then, when initializing, there should be some safeguard preventing the Z scores of even being called on that Test object if there are no hits, and the user is informed of that if the verbose flag is on.
Currently, the Benford object, after internalizing the data, perfoms all first order tests (F1D, F2D, F3D, SD and L2D) by default. Then one can use other methos so it also includes the Summation (F1D_Sum, F2D_Sum and F3D_Sum), the Mantissas and the Second Order (F1D_Sec, F2D_Sec...) tests. However, when the data do not span across multiple orders of magnitude, some digits combinations may have no hits, especially the First-Two-Digits (45, 77...) and First-Three-Digits (122, 670,...), which will cause a DivisionbyZero error when computing the Z scores, since it uses the number of hits as denominator, as well noticed by @ditlevjoergensen in #40. Ideally, then, when initializing, there should be some safeguard preventing the Z scores of even being called on that Test object if there are no hits, and the user is informed of that if the verbose flag is on.