Bug fixes:
nlcpd_self_start(strategy="s1") where the base region was not set properly.pricelevels(settings=list(solve="matrix")) where the setting was not supported and is now internally set to iterative.nlcpd(settings=list(use.jac=TRUE) when there were two regions (R=2) leading the matrices B and C in nlcpd_jacobi() to collapse.
Solved by adding drop=FALSE to the two matrices and added tests for this case.lehr(), when some quantities in the data were 0, the function returned NaN. minpack.lm-package in the documentation for cpd() and nlcpd().Improvements and other changes:
pricelevels(settings=list(type=c("a","b""))), no alphabetic ordering by index name of the output if specific indices are provided; alphabetic ordering only if settings$type=NULL.geoyoung() for the geometric Young index. Function description, tests and vignette updated.all.pairs=FALSE, the functions index.pairs() and geks() no longer use the price levels where the comparison and base region are the same (e.g., $P^{11}$) as these price levels do not provide valuable interregional information.attr(x, "base") is always added to the function output of ratios() if static=FALSE and base is not NULL.
The attribute provides the base region used to calculate the individual price ratios for each product.
The treatment of duplicated prices by ratios() is now also aligned to the respective treatment by all index formulas in the package, that is, duplicated prices are averaged and ratios derived by dividing the initial prices by the average.pairs() to compute the number of non-redundant index pairs available for a data set.
Renamed the functions comparisons() and sparsity() to properties() and gaps().
Updated the output of properties().settings$prods, which removes products with prices in only one region.
This is needed because otherwise these products distort the estimation by cpd(), ikle(), gerardi(), and others if weights are used.options(pricelevels.[])plot.pricelevels()ratios()arrange()Included the functions
mjevons() in rao()mcarli() in rhajargsaht()mdutot() in gkhamis()mharmonic() in ikle()by setting q=NULL and/or w=NULL
Updated the package vignette
Updated tests
mjevons(), mcarli(), mdutot(), and mharmonic()nlcpd(), introduced matching of lower and upper bounds and replaced argument par.start with the default pargerardi() index from the iterative onesarrange()In the DESCRIPTION file:
\dontrun{} with \donttest{} in the examples.