This release of the package fixes a number of issues that were brought to our attention by an anonymous reviewer. It also fixes some other problems.
Function huber2()
erroneously returned NA
if the initial scale estimate was less than DBL_EPSILON
(i.e., zero in floating-point arithmetics) although not zero in real arithmetics. After removing the unnecessary scale < DBL_EPSILON
check, the function behaves as expected.
R-core
has been added to the list of intellectual property owners with the roles c("cph", ctb")
for zeroin2.c
(see DESCRIPTION
file).robsvyreg()
is not exported to the namespace anymore because it is regarded as an internal function (not to be called by users).survey
package allows the definition of pre-calibrated weights (see argument calibrate.formula
of the function survey::svydesign()
; see also vignette Pre-calibrated weights of the survey
package). From now on, we will use this functionality by default in the examples, vignettes and documentation. Our code automatically reverts/falls back to calling svydesign()
without pre-calibrated weights (legacy mode) on R installations with an earlier version of the survey
package. As a consequence, some of the variance and standard error estimates in legacy mode may differ from those with pre-calibrated weights.svyreg_huber()
and svyreg_tukey()
are deprecated but have been kept for compatibility reasons. The deprecated functions are now equipped with a call to .Deprecated()
and are documented separately in help("robsurvey-deprecated")
.NAMESPACE
file has been consolidated; symbols of shared objects are now registered using src/init.c
(this file has previously been called robsurvey_init.c
) and loaded by useDynLib()
as R objects (not character strings), whose names are pre-fixed by "C_"
for reasons of transparency.strat
in the dataset workplace
is now a factor
; the same applies to the variables REG
, CL
and Stratum
in the datasets MU284strat
and MU284pps
.Fixed a bug in the C function wquant0
. For the special case of samples of size 2, the weighted quantile (other than the median) was wrong if the data were sorted in descending order. (Thanks to Ryota Suzuki, who detected the bug, Issue #1).
The summary()
method for objects of class formula
has been replaced by svysummary()
because it did not handle non-standard cases correctly (Thanks to the editorial office of the Journal of Statistical Software for pointing this out).
requireNamespace()
as a guard for suggested packages in the vignettes.survey
package or that extend its functionality, we added the following note: "Package survey
must be loaded in order to use this function." to the Details section./doc
folder are now in *.pdf
format which takes less space compared with the *.html
format. Thus, the warning checking installed package size... NOTE installed size is 5.4Mb sub-directories of 1Mb or more: doc 4.9Mb
disappearedsvystat_rob
now correctly prints: [Estimator] of the population
[mean/total].type
in the functions weighted_mean_huber()
, weighted_mean_tukey()
, svymean_huber()
and svymean_tukey()
is now "rwm"
. Type "rhj"
is still available (and will be supported in the future) but is silently converted to "rwm"
.svyratio_huber()
and svyratio_tukey()
); these functions are robust alternatives to survey::svyratio()
.svymean_ratio()
and svytotal_ratio()
.MU284pps
: A pps sample without replacement of size 50 from the MU284 population in Särndal et al. (1992).Functions svymean_reg()
and svytotal_reg()
are not flagged as "experimental" anymore. Several changes took place (in fact, the functions have undergone a complete code refactoring):
auxiliary
has been replaced by the two arguments N
(population size) and totals
(i.e., population totals of non-constant explanatory variables). Important: svymean_reg()
is now called with totals
not the population means.na.rm
and verbose
have been dropped (not needed).svymean_reg()
and svytotal_reg()
are now implemented as g-weighted residual variance estimators.Added documentation for variable strat
in the workplace
data and updated description of variable payroll
.
Added 45-degree line in the diagnostic plot
method for "3 Response vs. Fitted values" (which = 3
) of class svyreg_rob
.
Method SE()
for class svyreg_rob
is now exported to the namespace.
estimator$string
in the return value of function mer()
indicates the name of the underlying estimator correctly.which = 4
in plot
) for class svyreg_rob
.svyreg_rob
mer()
for minimum estimated risk estimation of location gained two new arguments:
method
: the method used in the search for a minimum, e.g., "Brent"
, "BFGS"
, see stats::optim()
for more detailsinit
determines the left side of the search interval and the initial value in the minimization approachmse()
computes/ extracts the estimated mean square error/ estimated risk in presence of representative outliers; see also mer()
svymean_reg()
and svytotal_reg()
. The current implementation of the functions is EXPERIMENTAL and a warning is issued when calling the functions (unless verbose = FALSE
). Experimental features may:
svyreg_huberM()
and svyreg_tukeyM()
; the old functions svyreg_huber()
and svyreg_tukey()
are deprecated but are kept for compatibility reasons.inst/doc
and test cases in tests
have been updatedk_Inf
is now 1e06
not 1e05
; see function svyreg_control()
).For designs with unequal probability sampling, the variance estimates of the robust estimators of mean and total are now identical with the estimates of survey::svymean()
and survey::svytotal()
if the tuning constant is k = Inf
or LB = 0
and UB = 1
.
Added DOI
to all references (where available).
svyreg_huberGM()
svyreg_tukey()
and svyreg_tukeyGM()
k
winsorized mean and total; see weighted_mean_k_winsorized()
and svymean_k_winsorized()
weighted_mean_dalen()
and svymean_dalen()
huber2()
counties
, flour
, losdata
, and MU284strat
The original C implementation of wquantile
was buggy (with implications for the R function weighted_quantile()
and also the iterative re-weighted least squares algorithm). The new C implementation of wquantile
is sound.
Argument type = "rwm"
of weighted_mean_huber()
is not used anymore (deprecated); instead, the type is now called "rhj"
.