[Robast-commits] r1308 - / branches/robast-1.3 branches/robast-1.3/pkg branches/robast-1.3/pkg/ROptEst/man

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Thu Aug 29 18:52:31 CEST 2024


Author: ruckdeschel
Date: 2024-08-29 18:52:31 +0200 (Thu, 29 Aug 2024)
New Revision: 1308

Added:
   20240207MailsAnCRAN.txt
   branches/robast-1.3/Aufrufparameter.txt
   branches/robast-1.3/pkg/20240202IdeeFuerTest_robest=roptest.txt
   cranmail.txt
   try.txt
Modified:
   branches/robast-1.3/pkg/ROptEst/man/0ROptEst-package.Rd
   branches/robast-1.3/pkg/ROptEst/man/getInfGamma.Rd
Log:
some remainders ...

Added: 20240207MailsAnCRAN.txt
===================================================================
--- 20240207MailsAnCRAN.txt	                        (rev 0)
+++ 20240207MailsAnCRAN.txt	2024-08-29 16:52:31 UTC (rev 1308)
@@ -0,0 +1,65 @@
+The Description field is intended to be a (one paragraph) description of
+what the package does and why it may be useful. Please add more details
+about the package functionality and implemented methods in your
+Description text.
+
+If there are references describing the methods in your package, please
+add these in the description field of your DESCRIPTION file in the form
+authors (year) <doi:...>
+authors (year) <arXiv:...>
+authors (year, ISBN:...)
+or if those are not available: <https:...>
+with no space after 'doi:', 'arXiv:', 'https:' and angle brackets for
+auto-linking. (If you want to add a title as well please put it in
+quotes: "Title")
+
+Please add \value to .Rd files regarding exported methods and explain
+the functions results in the documentation. Please write about the
+structure of the output (class) and also what the output means. (If a
+function does not return a value, please document that too, e.g.
+\value{No return value, called for side effects} or similar)
+  Missing Rd-tags:
+      getInfGamma.Rd: \value
+      inputGenerator.Rd: \value
+
+\dontrun{} should only be used if the example really cannot be executed
+(e.g. because of missing additional software, missing API keys, ...) by
+the user. That's why wrapping examples in \dontrun{} adds the comment
+("# Not run:") as a warning for the user. Does not seem necessary.
+Please replace \dontrun with \donttest.
+
+Please unwrap the examples if they are executable in < 5 sec, or replace
+dontrun{} with \donttest{}.
+
+You still have the standardtexts in your .Rd-files. Please omit them
+since they are not necessary.
+e.g.: ~~ If necessary, more details than the __description__ above ~~
+-> man/asAnscombe.Rd;  man/asL1.Rd; man/asL4.Rd
+
+You are setting options(warn=-1) in your function. This is not allowed.
+Please rather use suppressWarnings() if really needed.
+
+Please fix and resubmit.
+
+
+
+%-----------------------------------------------------------------
+%  rebuttal to resubmission of pkg ROptEst
+%-----------------------------------------------------------------
+
++ we revised the 'Description' field in the DESCRIPTION file and now
+include references. 
++ in files getInfGamma.Rd and inputGenerator.Rd we now have a 
+  value field; as it describes the return values of several methods/
+  functions, this is more a verbal description than 
+  a description of the actual return type (although this is also
+  specified).
++ in our examples we had valid code with long runtimes (>5 sec) 
+  which we had put into \dontrun; this code is now moved to 
+  file 'examples_taking_longer.R' shipped out in folder 
+  [inst/]scripts to this package and referred to in the
+  example section 
++ we removed the standardtexts (in comments) in your .Rd-files
+  man/asAnscombe.Rd;  man/asL1.Rd; man/asL4.Rd
++ we have removed all catches to warnings in our code 
+

Added: branches/robast-1.3/Aufrufparameter.txt
===================================================================
--- branches/robast-1.3/Aufrufparameter.txt	                        (rev 0)
+++ branches/robast-1.3/Aufrufparameter.txt	2024-08-29 16:52:31 UTC (rev 1308)
@@ -0,0 +1 @@
+"check --no-multiarch --as-cran --install-args=\"--byte-compile --with-keep.source --compact-docs --resave-data --install-tests --example --html --latex --clean --preclean\" --output=AsCRAN  RobExtremes_1.2.2.tar.gz"
\ No newline at end of file

Added: branches/robast-1.3/pkg/20240202IdeeFuerTest_robest=roptest.txt
===================================================================
--- branches/robast-1.3/pkg/20240202IdeeFuerTest_robest=roptest.txt	                        (rev 0)
+++ branches/robast-1.3/pkg/20240202IdeeFuerTest_robest=roptest.txt	2024-08-29 16:52:31 UTC (rev 1308)
@@ -0,0 +1,14 @@
+identical(as(robest.with.roptest,"kStepEstimate"),robEst)
+slotsToCompare <- names(getSlots(getClass("kStepEstimate")))
+for(slotName in slotsToCompare){
+   cat("slot: ",slotName,":" )
+   sl1 <- slot(robEst,slotName)
+   sl2 <- slot(robest.with.roptest,slotName)    
+   if(identical(sl1,sl2)) cat("identical\n")
+       else{if(is.function(sl1)){
+	       if(identical(formals(sl1),formals(sl2)) &&
+		      identical(body(sl1),body(sl2))) cat("identical\n")
+	   }else 
+	   {print(sl1); print(sl2)}
+   }
+}

Modified: branches/robast-1.3/pkg/ROptEst/man/0ROptEst-package.Rd
===================================================================
--- branches/robast-1.3/pkg/ROptEst/man/0ROptEst-package.Rd	2024-08-29 16:43:37 UTC (rev 1307)
+++ branches/robast-1.3/pkg/ROptEst/man/0ROptEst-package.Rd	2024-08-29 16:52:31 UTC (rev 1308)
@@ -1,92 +1,87 @@
-\name{ROptEst-package}
-\alias{ROptEst-package}
-\alias{ROptEst}
-\docType{package}
-\title{
-Optimally robust estimation
-}
-\description{
-Optimally robust estimation in general smoothly parameterized models 
-using S4 classes and methods.
-}
-\details{
-\tabular{ll}{
-Package: \tab ROptEst \cr
-Version: \tab 1.3.2 \cr
-Date: \tab 2024-02-03 \cr
-Depends: \tab R(>= 3.4), methods, distr(>= 2.8.0), distrEx(>= 2.8.0), distrMod(>= 2.8.1),RandVar(>= 1.2.0), RobAStBase(>= 1.2.0) \cr
-Suggests: \tab RobLox \cr
-Imports: \tab startupmsg, MASS, stats, graphics, utils, grDevices \cr
-ByteCompile: \tab yes \cr
-Encoding: \tab latin1 \cr
-License: \tab LGPL-3 \cr
-URL: \tab https://robast.r-forge.r-project.org/\cr
-VCS/SVNRevision: \tab 1268 \cr
-}
-}
-\author{
-Peter Ruckdeschel \email{peter.ruckdeschel at uni-oldenburg.de},\cr%
-Matthias Kohl \email{Matthias.Kohl at stamats.de}\cr
-Maintainer: Matthias Kohl  \email{matthias.kohl at stamats.de}}
-\references{
-  M. Kohl (2005). Numerical Contributions to the Asymptotic Theory of Robustness.
-  Dissertation. University of Bayreuth. \url{https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf}.
-
-  M. Kohl, P. Ruckdeschel, and H. Rieder (2010). Infinitesimally Robust Estimation in 
-  General Smoothly Parametrized Models. Statistical Methods and Applications \emph{19}(3): 333-354.
-  \doi{10.1007/s10260-010-0133-0}.
-
-  H. Rieder (1994): Robust Asymptotic Statistics. Springer. 
-  \doi{10.1007/978-1-4684-0624-5}
-
-  H. Rieder, M. Kohl, and P. Ruckdeschel (2008). The Costs of Not Knowing the Radius.
-  Statistical Methods and Applications  \emph{17}(1): 13-40. \doi{10.1007/s10260-007-0047-7}
-
-  P. Ruckdeschel (2005). Optimally One-Sided Bounded Influence Curves.
-  Mathematical Methods of Statistics \emph{14}(1), 105-131.
-
-  P. Ruckdeschel and H. Rieder (2004). Optimal Influence Curves for
-  General Loss Functions. Statistics & Decisions \emph{22}, 201-223.
-  \doi{10.1524/stnd.22.3.201.57067}
-}
-\seealso{
-\code{\link[distr:0distr-package]{distr-package}}, 
-\code{\link[distrEx:0distrEx-package]{distrEx-package}},
-\code{\link[distrMod:0distrMod-package]{distrMod-package}}, 
-\code{\link[RandVar:0RandVar-package]{RandVar-package}},
-\code{\link[RobAStBase:0RobAStBase-package]{RobAStBase-package}}
-}
-\section{Package versions}{
-Note: The first two numbers of package versions do not necessarily reflect
- package-individual development, but rather are chosen for the
- RobAStXXX family as a whole in order to ease updating "depends"
- information.
-}
-\examples{
-## don't test to reduce check time on CRAN
-\donttest{
-library(ROptEst)
-## Example: Rutherford-Geiger (1910); cf. Feller~(1968), Section VI.7 (a)
-x <- c(rep(0, 57), rep(1, 203), rep(2, 383), rep(3, 525), rep(4, 532), 
-       rep(5, 408), rep(6, 273), rep(7, 139), rep(8, 45), rep(9, 27), 
-       rep(10, 10), rep(11, 4), rep(12, 0), rep(13, 1), rep(14, 1))
-## ML-estimate from package distrMod
-MLest <- MLEstimator(x, PoisFamily())
-MLest
-## confidence interval based on CLT
-confint(MLest)
-## compute optimally (w.r.t to MSE) robust estimator (unknown contamination)
-robEst <- roptest(x, PoisFamily(), eps.upper = 0.1, steps = 3)
-estimate(robEst)
-## check influence curve
-pIC(robEst)
-checkIC(pIC(robEst))
-## plot influence curve
-plot(pIC(robEst))
-## confidence interval based on LAN - neglecting bias
-confint(robEst)
-## confidence interval based on LAN - including bias
-confint(robEst, method = symmetricBias())
-}
-}
-\keyword{package}
+\name{ROptEst-package}
+\alias{ROptEst-package}
+\alias{ROptEst}
+\docType{package}
+\title{
+Optimally robust estimation
+}
+\description{
+Optimally robust estimation in general smoothly parameterized models 
+using S4 classes and methods.
+}
+\details{
+\tabular{ll}{
+Package: \tab ROptEst \cr
+Version: \tab 1.3.4 \cr
+Date: \tab 2024-02-07 \cr
+Depends: \tab R(>= 3.4), methods, distr(>= 2.8.0), distrEx(>= 2.8.0), distrMod(>= 2.8.1),RandVar(>= 1.2.0), RobAStBase(>= 1.2.0) \cr
+Suggests: \tab RobLox \cr
+Imports: \tab startupmsg, MASS, stats, graphics, utils, grDevices \cr
+ByteCompile: \tab yes \cr
+Encoding: \tab latin1 \cr
+License: \tab LGPL-3 \cr
+URL: \tab https://robast.r-forge.r-project.org/\cr
+VCS/SVNRevision: \tab 1286 \cr
+}
+}
+\author{
+Peter Ruckdeschel \email{peter.ruckdeschel at uni-oldenburg.de},\cr%
+Matthias Kohl \email{Matthias.Kohl at stamats.de}\cr
+Maintainer: Matthias Kohl  \email{matthias.kohl at stamats.de}}
+\references{
+  M. Kohl (2005). Numerical Contributions to the Asymptotic Theory of Robustness.
+  Dissertation. University of Bayreuth. \url{https://epub.uni-bayreuth.de/id/eprint/839/2/DissMKohl.pdf}.
+  M. Kohl, P. Ruckdeschel, and H. Rieder (2010). Infinitesimally Robust Estimation in 
+  General Smoothly Parametrized Models. Statistical Methods and Applications \emph{19}(3): 333-354.
+  \doi{10.1007/s10260-010-0133-0}.
+  H. Rieder (1994): Robust Asymptotic Statistics. Springer. 
+  \doi{10.1007/978-1-4684-0624-5}
+  H. Rieder, M. Kohl, and P. Ruckdeschel (2008). The Costs of Not Knowing the Radius.
+  Statistical Methods and Applications  \emph{17}(1): 13-40. \doi{10.1007/s10260-007-0047-7}
+  P. Ruckdeschel (2005). Optimally One-Sided Bounded Influence Curves.
+  Mathematical Methods of Statistics \emph{14}(1), 105-131.
+  P. Ruckdeschel and H. Rieder (2004). Optimal Influence Curves for
+  General Loss Functions. Statistics & Decisions \emph{22}, 201-223.
+  \doi{10.1524/stnd.22.3.201.57067}
+}
+\seealso{
+\code{\link[distr:0distr-package]{distr-package}}, 
+\code{\link[distrEx:0distrEx-package]{distrEx-package}},
+\code{\link[distrMod:0distrMod-package]{distrMod-package}}, 
+\code{\link[RandVar:0RandVar-package]{RandVar-package}},
+\code{\link[RobAStBase:0RobAStBase-package]{RobAStBase-package}}
+}
+\section{Package versions}{
+Note: The first two numbers of package versions do not necessarily reflect
+ package-individual development, but rather are chosen for the
+ RobAStXXX family as a whole in order to ease updating "depends"
+ information.
+}
+\examples{
+## don't test to reduce check time on CRAN
+\donttest{
+library(ROptEst)
+## Example: Rutherford-Geiger (1910); cf. Feller~(1968), Section VI.7 (a)
+x <- c(rep(0, 57), rep(1, 203), rep(2, 383), rep(3, 525), rep(4, 532), 
+       rep(5, 408), rep(6, 273), rep(7, 139), rep(8, 45), rep(9, 27), 
+       rep(10, 10), rep(11, 4), rep(12, 0), rep(13, 1), rep(14, 1))
+## ML-estimate from package distrMod
+MLest <- MLEstimator(x, PoisFamily())
+MLest
+## confidence interval based on CLT
+confint(MLest)
+## compute optimally (w.r.t to MSE) robust estimator (unknown contamination)
+robEst <- roptest(x, PoisFamily(), eps.upper = 0.1, steps = 3)
+estimate(robEst)
+## check influence curve
+pIC(robEst)
+checkIC(pIC(robEst))
+## plot influence curve
+plot(pIC(robEst))
+## confidence interval based on LAN - neglecting bias
+confint(robEst)
+## confidence interval based on LAN - including bias
+confint(robEst, method = symmetricBias())
+}
+}
+\keyword{package}

Modified: branches/robast-1.3/pkg/ROptEst/man/getInfGamma.Rd
===================================================================
--- branches/robast-1.3/pkg/ROptEst/man/getInfGamma.Rd	2024-08-29 16:43:37 UTC (rev 1307)
+++ branches/robast-1.3/pkg/ROptEst/man/getInfGamma.Rd	2024-08-29 16:52:31 UTC (rev 1308)
@@ -1,119 +1,119 @@
-\name{getInfGamma}
-\alias{getInfGamma}
-\alias{getInfGamma-methods}
-\alias{getInfGamma,UnivariateDistribution,asGRisk,ContNeighborhood,BiasType-method}
-\alias{getInfGamma,UnivariateDistribution,asGRisk,TotalVarNeighborhood,BiasType-method}
-\alias{getInfGamma,RealRandVariable,asMSE,ContNeighborhood,BiasType-method}
-\alias{getInfGamma,RealRandVariable,asMSE,TotalVarNeighborhood,BiasType-method}
-\alias{getInfGamma,UnivariateDistribution,asUnOvShoot,ContNeighborhood,BiasType-method}
-\alias{getInfGamma,UnivariateDistribution,asMSE,ContNeighborhood,onesidedBias-method}
-\alias{getInfGamma,UnivariateDistribution,asMSE,ContNeighborhood,asymmetricBias-method}
-
-\title{Generic Function for the Computation of the Optimal Clipping Bound}
-\description{
-  Generic function for the computation of the optimal clipping bound.
-  This function is rarely called directly. It is called by \code{getInfClip} 
-  to compute optimally robust ICs.
-}
-\usage{
-getInfGamma(L2deriv, risk, neighbor, biastype, ...)
-
-\S4method{getInfGamma}{UnivariateDistribution,asGRisk,ContNeighborhood,BiasType}(L2deriv, 
-     risk, neighbor, biastype, cent, clip)
-
-\S4method{getInfGamma}{UnivariateDistribution,asGRisk,TotalVarNeighborhood,BiasType}(L2deriv, 
-     risk, neighbor, biastype, cent, clip)
-
-\S4method{getInfGamma}{RealRandVariable,asMSE,ContNeighborhood,BiasType}(L2deriv, 
-     risk, neighbor, biastype, Distr, stand, cent, clip, power = 1L, ...)
-
-\S4method{getInfGamma}{RealRandVariable,asMSE,TotalVarNeighborhood,BiasType}(L2deriv,
-     risk, neighbor, biastype, Distr, stand, cent, clip, power = 1L, ...)
-
-\S4method{getInfGamma}{UnivariateDistribution,asUnOvShoot,ContNeighborhood,BiasType}(L2deriv,
-     risk, neighbor, biastype, cent, clip)
-
-\S4method{getInfGamma}{UnivariateDistribution,asMSE,ContNeighborhood,onesidedBias}(L2deriv, 
-     risk, neighbor, biastype, cent, clip)
-
-\S4method{getInfGamma}{UnivariateDistribution,asMSE,ContNeighborhood,asymmetricBias}(L2deriv, 
-    risk, neighbor, biastype, cent, clip)
-}
-\arguments{
-  \item{L2deriv}{ L2-derivative of some L2-differentiable family 
-    of probability measures. }
-  \item{risk}{ object of class \code{"RiskType"}. }
-  \item{neighbor}{ object of class \code{"Neighborhood"}. }
-  \item{biastype}{ object of class \code{"BiasType"}. }
-  \item{\dots}{ additional parameters, in particular for expectation \code{E}. }
-  \item{cent}{ optimal centering constant. }
-  \item{clip}{ optimal clipping bound. }
-  \item{stand}{ standardizing matrix. }
-  \item{Distr}{ object of class \code{"Distribution"}. }
-  \item{power}{ exponent for the integrand; by default \code{1}, but
-   may also be \code{2}, for optimization in \code{getLagrangeMultByOptim}. }
-}
-\details{
-  The function is used in case of asymptotic G-risks; confer
-  Ruckdeschel and Rieder (2004).
-}
-\value{The optimal clipping height is computed. More spefically, the optimal
- clipping height \eqn{b} is determined in a zero search of a certain function
- \eqn{\gamma}{gamma}, where the respective  \code{getInf}-method will return 
- the value of  \eqn{\gamma(b)}{gamma(b)}. The actual function \eqn{\gamma}{gamma}
- varies according to whether the parameter is one dimensional or higher dimensional,
- according to the risk, according to the neighborhood, and according to the
- bias type, which leads to the different methods.}
-\section{Methods}{
-\describe{
-  \item{L2deriv = "UnivariateDistribution", risk = "asGRisk", 
-        neighbor = "ContNeighborhood", 
-        biastype = "BiasType"}{ used by \code{getInfClip} for symmetric bias. }
-
-  \item{L2deriv = "UnivariateDistribution", risk = "asGRisk", 
-        neighbor = "TotalVarNeighborhood", 
-        biastype = "BiasType"}{ used by \code{getInfClip} for symmetric bias. }
-
-  \item{L2deriv = "RealRandVariable", risk = "asMSE", 
-        neighbor = "ContNeighborhood", 
-        biastype = "BiasType"}{ used by \code{getInfClip} for symmetric bias. }
-
-  \item{L2deriv = "RealRandVariable", risk = "asMSE",
-        neighbor = "TotalVarNeighborhood",
-        biastype = "BiasType"}{ used by \code{getInfClip} for symmetric bias. }
-
-  \item{L2deriv = "UnivariateDistribution", risk = "asUnOvShoot", 
-        neighbor = "ContNeighborhood", 
-        biastype = "BiasType"}{ used by \code{getInfClip} for symmetric bias. }
-
-  \item{L2deriv = "UnivariateDistribution", risk = "asMSE", 
-        neighbor = "ContNeighborhood", 
-        biastype = "onesidedBias"}{ used by \code{getInfClip} for onesided bias. }
-
-  \item{L2deriv = "UnivariateDistribution", risk = "asMSE", 
-        neighbor = "ContNeighborhood", 
-        biastype = "asymmetricBias"}{ used by \code{getInfClip} for asymmetric bias. }
-}}
-\references{
-  Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. \bold{8}: 106--115.
-
-  Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
-
-  Ruckdeschel, P. and Rieder, H. (2004) Optimal Influence Curves for
-  General Loss Functions. Statistics & Decisions \emph{22}, 201-223.
-  
-  Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves.
-  Mathematical Methods in Statistics \emph{14}(1), 105-131.
-
-  Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}. 
-  Bayreuth: Dissertation.
-}
-\author{Matthias Kohl \email{Matthias.Kohl at stamats.de},
-        Peter Ruckdeschel \email{peter.ruckdeschel at uni-oldenburg.de}}
-%\note{}
-\seealso{\code{\link[distrMod]{asGRisk-class}}, \code{\link[distrMod]{asMSE-class}},
-        \code{\link[distrMod]{asUnOvShoot-class}}, \code{\link[RobAStBase]{ContIC-class}}, 
-        \code{\link[RobAStBase]{TotalVarIC-class}}}
-%\examples{}
-\concept{influence curve}
-\keyword{robust}
+\name{getInfGamma}
+\alias{getInfGamma}
+\alias{getInfGamma-methods}
+\alias{getInfGamma,UnivariateDistribution,asGRisk,ContNeighborhood,BiasType-method}
+\alias{getInfGamma,UnivariateDistribution,asGRisk,TotalVarNeighborhood,BiasType-method}
+\alias{getInfGamma,RealRandVariable,asMSE,ContNeighborhood,BiasType-method}
+\alias{getInfGamma,RealRandVariable,asMSE,TotalVarNeighborhood,BiasType-method}
+\alias{getInfGamma,UnivariateDistribution,asUnOvShoot,ContNeighborhood,BiasType-method}
+\alias{getInfGamma,UnivariateDistribution,asMSE,ContNeighborhood,onesidedBias-method}
+\alias{getInfGamma,UnivariateDistribution,asMSE,ContNeighborhood,asymmetricBias-method}
+
+\title{Generic Function for the Computation of the Optimal Clipping Bound}
+\description{
+  Generic function for the computation of the optimal clipping bound.
+  This function is rarely called directly. It is called by \code{getInfClip} 
+  to compute optimally robust ICs.
+}
+\usage{
+getInfGamma(L2deriv, risk, neighbor, biastype, ...)
+
+\S4method{getInfGamma}{UnivariateDistribution,asGRisk,ContNeighborhood,BiasType}(L2deriv, 
+     risk, neighbor, biastype, cent, clip)
+
+\S4method{getInfGamma}{UnivariateDistribution,asGRisk,TotalVarNeighborhood,BiasType}(L2deriv, 
+     risk, neighbor, biastype, cent, clip)
+
+\S4method{getInfGamma}{RealRandVariable,asMSE,ContNeighborhood,BiasType}(L2deriv, 
+     risk, neighbor, biastype, Distr, stand, cent, clip, power = 1L, ...)
+
+\S4method{getInfGamma}{RealRandVariable,asMSE,TotalVarNeighborhood,BiasType}(L2deriv,
+     risk, neighbor, biastype, Distr, stand, cent, clip, power = 1L, ...)
+
+\S4method{getInfGamma}{UnivariateDistribution,asUnOvShoot,ContNeighborhood,BiasType}(L2deriv,
+     risk, neighbor, biastype, cent, clip)
+
+\S4method{getInfGamma}{UnivariateDistribution,asMSE,ContNeighborhood,onesidedBias}(L2deriv, 
+     risk, neighbor, biastype, cent, clip)
+
+\S4method{getInfGamma}{UnivariateDistribution,asMSE,ContNeighborhood,asymmetricBias}(L2deriv, 
+    risk, neighbor, biastype, cent, clip)
+}
+\arguments{
+  \item{L2deriv}{ L2-derivative of some L2-differentiable family 
+    of probability measures. }
+  \item{risk}{ object of class \code{"RiskType"}. }
+  \item{neighbor}{ object of class \code{"Neighborhood"}. }
+  \item{biastype}{ object of class \code{"BiasType"}. }
+  \item{\dots}{ additional parameters, in particular for expectation \code{E}. }
+  \item{cent}{ optimal centering constant. }
+  \item{clip}{ optimal clipping bound. }
+  \item{stand}{ standardizing matrix. }
+  \item{Distr}{ object of class \code{"Distribution"}. }
+  \item{power}{ exponent for the integrand; by default \code{1}, but
+   may also be \code{2}, for optimization in \code{getLagrangeMultByOptim}. }
+}
+\details{
+  The function is used in case of asymptotic G-risks; confer
+  Ruckdeschel and Rieder (2004).
+}
+\value{The optimal clipping height is computed. More specifically, the optimal
+ clipping height \eqn{b} is determined in a zero search of a certain function
+ \eqn{\gamma}{gamma}, where the respective  \code{getInf}-method will return 
+ the value of  \eqn{\gamma(b)}{gamma(b)}. The actual function \eqn{\gamma}{gamma}
+ varies according to whether the parameter is one dimensional or higher dimensional,
+ according to the risk, according to the neighborhood, and according to the
+ bias type, which leads to the different methods.}
+\section{Methods}{
+\describe{
+  \item{L2deriv = "UnivariateDistribution", risk = "asGRisk", 
+        neighbor = "ContNeighborhood", 
+        biastype = "BiasType"}{ used by \code{getInfClip} for symmetric bias. }
+
+  \item{L2deriv = "UnivariateDistribution", risk = "asGRisk", 
+        neighbor = "TotalVarNeighborhood", 
+        biastype = "BiasType"}{ used by \code{getInfClip} for symmetric bias. }
+
+  \item{L2deriv = "RealRandVariable", risk = "asMSE", 
+        neighbor = "ContNeighborhood", 
+        biastype = "BiasType"}{ used by \code{getInfClip} for symmetric bias. }
+
+  \item{L2deriv = "RealRandVariable", risk = "asMSE",
+        neighbor = "TotalVarNeighborhood",
+        biastype = "BiasType"}{ used by \code{getInfClip} for symmetric bias. }
+
+  \item{L2deriv = "UnivariateDistribution", risk = "asUnOvShoot", 
+        neighbor = "ContNeighborhood", 
+        biastype = "BiasType"}{ used by \code{getInfClip} for symmetric bias. }
+
+  \item{L2deriv = "UnivariateDistribution", risk = "asMSE", 
+        neighbor = "ContNeighborhood", 
+        biastype = "onesidedBias"}{ used by \code{getInfClip} for onesided bias. }
+
+  \item{L2deriv = "UnivariateDistribution", risk = "asMSE", 
+        neighbor = "ContNeighborhood", 
+        biastype = "asymmetricBias"}{ used by \code{getInfClip} for asymmetric bias. }
+}}
+\references{
+  Rieder, H. (1980) Estimates derived from robust tests. Ann. Stats. \bold{8}: 106--115.
+
+  Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+  Ruckdeschel, P. and Rieder, H. (2004) Optimal Influence Curves for
+  General Loss Functions. Statistics & Decisions \emph{22}, 201-223.
+  
+  Ruckdeschel, P. (2005) Optimally One-Sided Bounded Influence Curves.
+  Mathematical Methods in Statistics \emph{14}(1), 105-131.
+
+  Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}. 
+  Bayreuth: Dissertation.
+}
+\author{Matthias Kohl \email{Matthias.Kohl at stamats.de},
+        Peter Ruckdeschel \email{peter.ruckdeschel at uni-oldenburg.de}}
+%\note{}
+\seealso{\code{\link[distrMod]{asGRisk-class}}, \code{\link[distrMod]{asMSE-class}},
+        \code{\link[distrMod]{asUnOvShoot-class}}, \code{\link[RobAStBase]{ContIC-class}}, 
+        \code{\link[RobAStBase]{TotalVarIC-class}}}
+%\examples{}
+\concept{influence curve}
+\keyword{robust}

Added: cranmail.txt
===================================================================
--- cranmail.txt	                        (rev 0)
+++ cranmail.txt	2024-08-29 16:52:31 UTC (rev 1308)
@@ -0,0 +1,63 @@
+Hi,
+
+sorry for coming late in this thread, I was pondering quite a bit
+whether I should do this, because I am certainly not an authority
+to propose anything here, and I found the follow ups of Dirk's 
+mail quite emotional and did not want to shed any more oil to 
+this fire. Certainly I do not want to put any of CRAN's maintainers
+off from doing their tremendous job in enhancing our code by
+providing R CMD check.
+
+Still, has anyone had a closer look at PEP (as Dirk has proposed)? 
+i.e., http://en.wikipedia.org/wiki/Python_Enhancement_Proposal#Development
+I think it should at least be worth a look. 
+
+A more formal enhancement process with announcement as concepts 
+(with some description and motivation), subsequent discussion and 
+refinement and thereafter implementation (with subsequent "done"-entry 
+in NEWS) would have benefits for both CRAN maintainers and pkg authors 
+--- see some illustrations / examples below.
+Not to be misunderstood: Requiring discussion, I do not mean to 
+set up a voting system about changes in R CMD check --as-cran. 
+IMO CRAN must stay autonomous about it. 
+
+Hence a more constructive approach would be to set up a future 
+Google Summer of Code project devoted to translating the essential
+concepts of PEP to something called REP (R Enhancement Proposal)
+and would in particular provide automating tools like some template
+generating function promptChangeRCMDcheckascran() . Maybe this could
+ease work of CRAN maintainers. 
+
+[Unfortunately I could not offer to be an adviser, however].
+
+Best regards, Peter Ruckdeschel
+
+illustration of benefits of REP
+1. With some more explanations about the changes done in R CMD check,
+pkg authors could possibly even anticipate not-yet-detected flaws
+in their code and hence produce less code revision cycles for both
+CRAN maintainers and authors. Example: Once the reason for WARNING
+about ":::" is explained, authors could try and spot further possible
+clashes induced by code dependencies not yet warned about.
+
+2. Restrictions to use ":::" makes package maintenance easier as just
+seen; to get rid of this, one would typically copy code, with
+again obvious downsides, too: The copy would not notice improvements
+(bug fixes, enhancements) in the original. So I would probably have
+pledged for some voluntary mechanism to make reference in the code 
+copy to the original (say by some source attribute) together with 
+some tools to spot changes in the original pointed to from the 
+reference. Sure, this can also be done without REP, but this way
+it is more closely linked to the triggering change in R CMD check.
+
+3. Automated feed back can be helpful. More than once I had difficulties
+in getting my pkgs through R CMD check, where I needed help from
+CRAN. Certainly not bugs in R, maybe not even relevant RFEs, so I
+posted them to an individual CRAN member but did not receive any feedback 
+---neither a "got the point; at it right now", nor a "no time right now", 
+nor a "done now". The CRAN member does deserve to be thanked, though,
+as in the end he did the required changes, and in some cases even filled 
+in some NEWS entry, but still: this costs my time, as I must continuously check
+http://developer.r-project.org/blosxom.cgi/R-devel and, if he misses
+to put in NEWS, scan the svn-logs, giving mostly FALSE positives
+at the risk of overlooking the essential. 
\ No newline at end of file

Added: try.txt
===================================================================
--- try.txt	                        (rev 0)
+++ try.txt	2024-08-29 16:52:31 UTC (rev 1308)
@@ -0,0 +1,62 @@
+This is some RFE, or better a wish, as to dealing with usage of
+non-exported code. Any comments appreciated.
+
+Notation: pkg A (maintained by A.A) has some internal code Afct() 
+that pkg B (maintained by B.B) wants to use.
+
+With recent changes in R CMD check usage of A:::Afct() in pkg B
+is no longer allowed on CRAN packages. As a way out B.B has to
+copy the code of Afct from A to B (and should give credits to A.A).
+
+First of all, let me say that these changes in R CMD check do 
+enhance maintainability, allowing A.A to change Afct without 
+interfering with B.B.
+
+Still, this also has drawbacks: Suppose A.A makes changes in Afct
+which are compatible with pkg B; then, using A:::Afct(), pkg B
+gets improved without any changes in pkg B, just because A was 
+improved. 
+
+Of course this is not always the case, and the changes in Afct 
+could break B, and deciding this automatically is out of range.
+Still we do have this situation anyway, if A is R itself, so all 
+our contributed pkgs improve just because R improves (and most of 
+the time contributing authors have little to no changes to make 
+in their pkgs for this).
+
+I would like to propose something in the middle:
+
+On a _voluntary_base_, B.B could add a particular comment to
+his copy of Afct ( which gets parsed as a sort of external 
+sourceref) indicating that he/B.B has copied code from A.A
+(and, maybe, more specifically from which file). 
+
+Sure, with C-code or other foreign code, this is more difficult,
+but maybe some more experienced R programmer also sees how to deal 
+with this.
+
+Also sure, this may fail if A.A moves/alters his code so that
+the sourceref pointer gets invalid. But this should not be
+the most frequent case.
+
+Now with some tool function CheckIfExtRefUpdated()  (using 
+Duncan Murdoch's code for changedFiles) one might check if, in 
+B.B's library, the original code of Afct has changed, and if 
+so, CheckIfExtRefUpdated() might return the new source, so that 
+B.B could use this new code of Afct for manual checking whether 
+this new code still is compatible with his pkg B so that he might
+decide to update his copy of Afct.
+Fct CheckIfExtRefUpdated() could also be called at R CMD check
+helping identify these cheap improvements.
+
+The advantage of this is that B.B does not have to keep track
+of changes in A but automatically gets informed, which comes
+close to the behaviour of writing A:::Afct() without the downside
+of risking pkg B to break inadvertedly with changes in Afct.
+
+An easier proposal implying more manual work, yet still quite efficient
+could be to have a non-parsed text file COPIEDCODE in inst indicating
+more specifically, which parts of the code have been copied from
+a foreign package, 
+
+Best, Peter
\ No newline at end of file



More information about the Robast-commits mailing list