In this version:
Fixed issue #3
Improved functions description.
Added more robust checks for input types and values
Added an is_integer
function that uses implicit
integer division. When a number is divided by 1 using integer division
(%/%
), the result will be equal to the original number only
if it’s an integer. The is_integer
function is used to
check k
, pcx
, and pcy
.
Improved error messages to be more informative and specific.
Converted input to matrix once at the beginning to avoid repeated conversions.
For both ellipseParam
and ellipseCoord
functions, the code is restructured into smaller, more focused functions
for better readability and maintainability.
Extracted the columns x[, pcx]
and
x[, pcy]
into separate vectors x_col
and
y_col
before using them in the calculations. Use
drop = TRUE
to ensure that even if x
is a
single-column matrix, it’s converted to a vector.
Added three new parameters for the ellipseParam
function: threshold
, real.tol
, and
abs.tol
. The threshold
parameter serves to
select the minimum number of k
components that cumulatively
explain at least the specified proportion of variance. As for the two
tolerance parameters, rel_tol
(for relative tolerance) and
abs_tol
(for absolute tolerance), they serve as variance
threshold of components deemed negligible if their variance is below
EITHER of these thresholds.
Implemented a three-dimensional extension to the
ellipseCoord
function by introducing a third axis
parameter, pcz
. This addition enables the computation of
coordinates for 3D ellipsoids, expanding the function’s capabilities
beyond its previous 2D computation.
Renamed some variables for better clarity (e.g., m
to pts
)
This version includes the following modifications:
Correction of an error that occurred in the
ellipseParam
and ellipseCoord
functions, when
data is data.frame, instead of tibble
Improvement of the package documentation
Changes in the vignette (the difference between
ellipseParam
and ellipseCoord
functions to
draw Hotelling’s ellipse is much clearer for users).
Not released
Not released
Not released
Not released
Not released
Not released
Not released
Not released
Not released
Initial release