[Distr-commits] r960 - in branches/distr-2.6/pkg/distr: . R inst man
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Thu Aug 14 18:05:28 CEST 2014
Author: stamats
Date: 2014-08-14 18:05:27 +0200 (Thu, 14 Aug 2014)
New Revision: 960
Added:
branches/distr-2.6/pkg/distr/R/EmpiricalDistribution.R
branches/distr-2.6/pkg/distr/man/EmpiricalDistribution.Rd
Modified:
branches/distr-2.6/pkg/distr/NAMESPACE
branches/distr-2.6/pkg/distr/inst/NEWS
branches/distr-2.6/pkg/distr/man/DiscreteDistribution.Rd
Log:
added generating function EmpiricalDistribution which provide a simple wrapper to function DiscreteDistribution
Modified: branches/distr-2.6/pkg/distr/NAMESPACE
===================================================================
--- branches/distr-2.6/pkg/distr/NAMESPACE 2014-08-12 12:45:39 UTC (rev 959)
+++ branches/distr-2.6/pkg/distr/NAMESPACE 2014-08-14 16:05:27 UTC (rev 960)
@@ -1,100 +1,101 @@
-useDynLib("distr")
-import("methods")
-import("stats")
-importFrom("graphics", "plot")
-importFrom("sfsmisc", "D1ss")
-import("startupmsg")
-import("SweaveListingUtils")
-
-export("Beta", "Binom", "Cauchy", "Chisq",
- "Dirac","Exp", "DExp", "Fd", "Gammad",
- "Geom", "Hyper", "Lnorm", "Logis",
- "Nbinom", "Norm", "Pois", "RtoDPQ",
- "RtoDPQ.d", "Td", "Unif", "Weibull", "Arcsine",
- "distroptions", "getdistrOption", "simplifyr",
- "Lattice", "DiscreteDistribution",
- "LatticeDistribution", "EuclideanSpace", "Reals",
- "Naturals", "standardMethods",
- "distrARITH", "distrMASK", "getLabel", "devNew")
-export("AbscontDistribution")
-export("DistrList", "UnivarDistrList")
-export("makeAbscontDistribution")
-exportClasses("rSpace", "EuclideanSpace", "Reals",
- "Naturals")
-exportClasses("Parameter")
-exportClasses("OptionalParameter", "OptionalMatrix")
-exportClasses("BetaParameter", "BinomParameter",
- "CauchyParameter", "ChisqParameter",
- "DiracParameter", "ExpParameter",
- "FParameter", "GammaParameter",
- "HyperParameter", "GeomParameter",
- "LogisParameter", "LnormParameter",
- "NbinomParameter", "NormParameter",
- "PoisParameter", "TParameter",
- "UnifParameter", "WeibullParameter",
- "UniNormParameter")
-exportClasses("Distribution")
-exportClasses("UnivariateDistribution", "AbscontDistribution",
- "DiscreteDistribution", "LatticeDistribution",
- "AffLinAbscontDistribution", "AffLinDiscreteDistribution",
- "AffLinLatticeDistribution", "AffLinDistribution", "Lattice",
- "Beta", "Binom", "Cauchy", "Chisq", "Dirac",
- "DExp", "Exp", "Fd", "Gammad", "Geom",
- "Hyper", "Logis", "Lnorm", "Nbinom", "Norm",
- "Pois", "Td", "Unif", "Weibull", "Arcsine",
- "ExpOrGammaOrChisq")
-exportClasses("UnivDistrListOrDistribution")
-exportClasses("CompoundDistribution")
-exportClasses("DistrList",
- "UnivarDistrList")
-exportClasses("OptionalNumeric", "PosSemDefSymmMatrix",
- "PosDefSymmMatrix",
- "Symmetry", "DistributionSymmetry",
- "NoSymmetry", "EllipticalSymmetry", "SphericalSymmetry",
- "DistrSymmList")
-exportMethods("Max", "Max<-", "Min", "Min<-", "d", "df",
- "df<-", "df1", "df1<-", "df2",
- "df2<-", "dimension", "dimension<-", "name",
- "name<-", "img", "k", "k<-",
- "lambda", "lambda<-", "liesIn", "location",
- "location<-", "m", "m<-", "mean",
- "mean<-", "meanlog", "meanlog<-", "n",
- "n<-", "ncp", "ncp<-", "p", "param",
- "prob", "prob<-", "q", "r", "rate", "p.l", "q.r",
- "rate<-", "scale", "scale<-", "sd", "sd<-",
- "sdlog", "sdlog<-", "shape", "shape<-",
- "shape1", "shape1<-", "shape2", "shape2<-",
- "size", "size<-", "support", "initialize",
- "print", "plot", "+", "-", "/", "*", "coerce",
- "Math", "log", "log10", "gamma", "lgamma", "digamma",
- "dim", "show", "convpow", "pivot", "sign",
- "lattice", "width", "Length", "pivot<-",
- "width<-", "Length<-", "liesInSupport",
- "isOldVersion", "conv2NewVersion", "gaps",
- "gaps<-", "setgaps", "getLow", "getUp")
-exportClasses("UnivarMixingDistribution",
- "UnivarLebDecDistribution",
- "AffLinUnivarLebDecDistribution",
- "AcDcLcDistribution")
-exportMethods("mixCoeff", "mixCoeff<-", "mixDistr", "mixDistr<-",
- "discretePart", "discretePart<-", "acPart", "acPart<-",
- "discreteWeight", "discreteWeight<-", "acWeight", "acWeight<-",
- "p.discrete", "d.discrete", "q.discrete", "r.discrete",
- "p.ac", "d.ac", "q.ac", "r.ac")
-exportMethods("decomposePM", "simplifyD", "showobj")
-exportMethods("Truncate","Minimum","Maximum","Huberize")
-exportMethods("solve", "sqrt")
-exportMethods("type", "SymmCenter", "Symmetry", ".logExact", ".lowerExact")
-export("UnivarMixingDistribution", "UnivarLebDecDistribution")
-export("RtoDPQ.LC", "flat.LCD", "flat.mix")
-exportMethods("abs","exp","^")
-exportMethods("NumbOfSummandsDistr","SummandsDistr")
-export("CompoundDistribution")
-export("PosDefSymmMatrix","PosSemDefSymmMatrix")
-export("NoSymmetry", "EllipticalSymmetry", "SphericalSymmetry",
- "DistrSymmList")
-export("qqbounds","igamma")
-exportMethods("qqplot")
-export(".isEqual",".isEqual01", ".inArgs", ".fillList",
- ".presubs", ".makeLenAndOrder", ".DistrCollapse")
+useDynLib("distr")
+import("methods")
+import("stats")
+importFrom("graphics", "plot")
+importFrom("sfsmisc", "D1ss")
+import("startupmsg")
+import("SweaveListingUtils")
+
+export("Beta", "Binom", "Cauchy", "Chisq",
+ "Dirac","Exp", "DExp", "Fd", "Gammad",
+ "Geom", "Hyper", "Lnorm", "Logis",
+ "Nbinom", "Norm", "Pois", "RtoDPQ",
+ "RtoDPQ.d", "Td", "Unif", "Weibull", "Arcsine",
+ "distroptions", "getdistrOption", "simplifyr",
+ "Lattice", "DiscreteDistribution",
+ "EmpiricalDistribution",
+ "LatticeDistribution", "EuclideanSpace", "Reals",
+ "Naturals", "standardMethods",
+ "distrARITH", "distrMASK", "getLabel", "devNew")
+export("AbscontDistribution")
+export("DistrList", "UnivarDistrList")
+export("makeAbscontDistribution")
+exportClasses("rSpace", "EuclideanSpace", "Reals",
+ "Naturals")
+exportClasses("Parameter")
+exportClasses("OptionalParameter", "OptionalMatrix")
+exportClasses("BetaParameter", "BinomParameter",
+ "CauchyParameter", "ChisqParameter",
+ "DiracParameter", "ExpParameter",
+ "FParameter", "GammaParameter",
+ "HyperParameter", "GeomParameter",
+ "LogisParameter", "LnormParameter",
+ "NbinomParameter", "NormParameter",
+ "PoisParameter", "TParameter",
+ "UnifParameter", "WeibullParameter",
+ "UniNormParameter")
+exportClasses("Distribution")
+exportClasses("UnivariateDistribution", "AbscontDistribution",
+ "DiscreteDistribution", "LatticeDistribution",
+ "AffLinAbscontDistribution", "AffLinDiscreteDistribution",
+ "AffLinLatticeDistribution", "AffLinDistribution", "Lattice",
+ "Beta", "Binom", "Cauchy", "Chisq", "Dirac",
+ "DExp", "Exp", "Fd", "Gammad", "Geom",
+ "Hyper", "Logis", "Lnorm", "Nbinom", "Norm",
+ "Pois", "Td", "Unif", "Weibull", "Arcsine",
+ "ExpOrGammaOrChisq")
+exportClasses("UnivDistrListOrDistribution")
+exportClasses("CompoundDistribution")
+exportClasses("DistrList",
+ "UnivarDistrList")
+exportClasses("OptionalNumeric", "PosSemDefSymmMatrix",
+ "PosDefSymmMatrix",
+ "Symmetry", "DistributionSymmetry",
+ "NoSymmetry", "EllipticalSymmetry", "SphericalSymmetry",
+ "DistrSymmList")
+exportMethods("Max", "Max<-", "Min", "Min<-", "d", "df",
+ "df<-", "df1", "df1<-", "df2",
+ "df2<-", "dimension", "dimension<-", "name",
+ "name<-", "img", "k", "k<-",
+ "lambda", "lambda<-", "liesIn", "location",
+ "location<-", "m", "m<-", "mean",
+ "mean<-", "meanlog", "meanlog<-", "n",
+ "n<-", "ncp", "ncp<-", "p", "param",
+ "prob", "prob<-", "q", "r", "rate", "p.l", "q.r",
+ "rate<-", "scale", "scale<-", "sd", "sd<-",
+ "sdlog", "sdlog<-", "shape", "shape<-",
+ "shape1", "shape1<-", "shape2", "shape2<-",
+ "size", "size<-", "support", "initialize",
+ "print", "plot", "+", "-", "/", "*", "coerce",
+ "Math", "log", "log10", "gamma", "lgamma", "digamma",
+ "dim", "show", "convpow", "pivot", "sign",
+ "lattice", "width", "Length", "pivot<-",
+ "width<-", "Length<-", "liesInSupport",
+ "isOldVersion", "conv2NewVersion", "gaps",
+ "gaps<-", "setgaps", "getLow", "getUp")
+exportClasses("UnivarMixingDistribution",
+ "UnivarLebDecDistribution",
+ "AffLinUnivarLebDecDistribution",
+ "AcDcLcDistribution")
+exportMethods("mixCoeff", "mixCoeff<-", "mixDistr", "mixDistr<-",
+ "discretePart", "discretePart<-", "acPart", "acPart<-",
+ "discreteWeight", "discreteWeight<-", "acWeight", "acWeight<-",
+ "p.discrete", "d.discrete", "q.discrete", "r.discrete",
+ "p.ac", "d.ac", "q.ac", "r.ac")
+exportMethods("decomposePM", "simplifyD", "showobj")
+exportMethods("Truncate","Minimum","Maximum","Huberize")
+exportMethods("solve", "sqrt")
+exportMethods("type", "SymmCenter", "Symmetry", ".logExact", ".lowerExact")
+export("UnivarMixingDistribution", "UnivarLebDecDistribution")
+export("RtoDPQ.LC", "flat.LCD", "flat.mix")
+exportMethods("abs","exp","^")
+exportMethods("NumbOfSummandsDistr","SummandsDistr")
+export("CompoundDistribution")
+export("PosDefSymmMatrix","PosSemDefSymmMatrix")
+export("NoSymmetry", "EllipticalSymmetry", "SphericalSymmetry",
+ "DistrSymmList")
+export("qqbounds","igamma")
+exportMethods("qqplot")
+export(".isEqual",".isEqual01", ".inArgs", ".fillList",
+ ".presubs", ".makeLenAndOrder", ".DistrCollapse")
export("samplesize", "distribution", "samplesize<-")
\ No newline at end of file
Added: branches/distr-2.6/pkg/distr/R/EmpiricalDistribution.R
===================================================================
--- branches/distr-2.6/pkg/distr/R/EmpiricalDistribution.R (rev 0)
+++ branches/distr-2.6/pkg/distr/R/EmpiricalDistribution.R 2014-08-14 16:05:27 UTC (rev 960)
@@ -0,0 +1,20 @@
+###############################################################################
+## Generating function to generate empirical distribution given some data
+###############################################################################
+
+## simple wrapper to DiscreteDistribution
+EmpiricalDistribution <- function(data, .withArith = FALSE,
+ .withSim = FALSE, .lowerExact = TRUE, .logExact = FALSE,
+ .DistrCollapse =
+ getdistrOption("DistrCollapse"),
+ .DistrCollapse.Unique.Warn =
+ getdistrOption("DistrCollapse.Unique.Warn"),
+ .DistrResolution = getdistrOption("DistrResolution"),
+ Symmetry = NoSymmetry()){
+ DiscreteDistribution(supp = data, .withArith = .withArith, .withSim = .withSim,
+ .lowerExact = .lowerExact, .logExact = .logExact,
+ .DistrCollapse = .DistrCollapse,
+ .DistrCollapse.Unique.Warn = .DistrCollapse.Unique.Warn,
+ .DistrResolution = .DistrResolution,
+ Symmetry = Symmetry)
+}
Modified: branches/distr-2.6/pkg/distr/inst/NEWS
===================================================================
--- branches/distr-2.6/pkg/distr/inst/NEWS 2014-08-12 12:45:39 UTC (rev 959)
+++ branches/distr-2.6/pkg/distr/inst/NEWS 2014-08-14 16:05:27 UTC (rev 960)
@@ -1,828 +1,830 @@
-######################################################################
-# News: to package distr
-######################################################################
-
-(first two numbers of package versions do not necessarily reflect
- package-individual development, but rather are chosen for the
- distrXXX family as a whole in order to ease updating "depends"
- information)
-
-##############
-v 2.6
-##############
-
-user visible changes
-+ added reference to JSS paper in IllustCLT
-+ updated references in vignette 'newDistributions'
-
-under the hood:
-
--qqplot:
- + (already there for a while) gains argument 'debug' to be able to
- trace where computation of confidence bounds fails; this 'debug'
- argument has now been enhanced in the sense that now more detailed
- information about which helper function was the culprit and where
- (uniroot/optimize) this happens
--qqbounds:
- + the respective helper functions .BinomCI.nosym, .BinomCI,
- .q2kolmogorov capsulate their calls to uniroot / optimize in
- individual try-catches (instead of / on top of the one in
- qqbounds itself) so that in case of several evaluations (e.g. in
- pointwise CIs) at least a subset of valid points is produced.
- In addition the search interval is now more flexible: it is bound
- away from 0 below and from the upper bound from above, and this
- bound moves to the respective lower/upper bounds in up to 20 trials.
- Also, the search interval for .q2kolmogorov if argument 'exact' is
- TRUE (i.e., if pKolmogorov2x is called) has been refined. This
- should make the simultaneous intervals more stable.
- + re-included faster right-tail approximation in C-code K(int n, double d)
- included from R-Core (was commented out there) [ks.c in folder src in
- tar-ball, ll 153-155]
-
-##############
-v 2.5.3
-##############
-
-user-visible CHANGES:
-+ CITATION file updated after JSS publication
-
-under the hood:
-+ tests: long-running tests with large pre-calculated results successfully implemented
-+ enhanced utility function .fillList by an automatic cast to list if the argument
- not yet is of class list.
-+ some minor changes in qqplot
-
-bug fixes:
-+ bug in LatticeDistribution found by Mikhail.Spivakov at babraham.ac.uk
-+ found a missing drop=FALSE in .mergegaps2
-+ fixed an issue with casting AffLinDiscreteDistributions to LatticeDistributions
- (discovered by Kostas Oikonomou, ko at research.att.com )
-
- ##############
-v 2.5
-##############
-
-user-visible CHANGES:
-
-GENERAL ENHANCEMENTS:
-+ cleaned DESCRIPTION and NAMESPACE file as to Imports/Depends
-
-under the hood:
-+ added .Rbuildignore
-+ exported some routines which had been internal so far to
- avoid calls by :::
-+ in order to avoid calls to non-exported C-Code from pkg stats
- (for Kolmogorov-distribution) we integrated R-Core's C-code from
- /src/library/stats/src/ks.c rev60573
- (with small changes to make it self-contained) to src folder of this pkg;
- in addition, we now use the shakier .C - interface again...
- in v 2.5.1 reverted the changes in /src/library/stats/src/ks.c:
- including R.h etc is easier than thought...
-
-BUGFIXES:
-+ fixed .makedotsPt -issue discovered by Gerald --> thx
-+ moved generics to "distribution" and "samplesize" to pkg distr to avoid
- conflict between pkgs distrMod and distrSim
- v 2.5.1: same with "samplesize<-" to avoid conflict between pkgs
- distrSim and RobAStBase
-
-##############
-v 2.4
-##############
-
-user-visible CHANGES:
-
-
-GENERAL ENHANCEMENTS:
-
-LatticeDistribution:::
-+ revised initialize and convolution methods, and generating function
--> new routine to determine the smallest common grid for convolution
-+ Taking up proposal by Baoyue Li, b.li at erasmusmc.nl,
- plot methods for distribution objects gain functionality to modify xlab and ylab
-
-
-under the hood:
-+ introduce .Rbuildignore files
-+ require no longer called in .onAttach
-+ created folder vignettes and moved content of inst/doc/ to it
-+ removed lazyload tag in DESCRIPTION
-+ updated affiliation info in newDistributions.Rnw
-+ deleted inst/doc folder
-+ added DESCRIPTION tag "ByteCompile" to all our packages
-+ updating maintainer email address and URL.
-+ added argument no.readonly = TRUE to assignments of form opar <- par()
-+ unified dots-manipulations
-+ put some examples in "\dontrun" to reduce check time on CRAN
-+ introduced new option warn.makeDNew to suppress annoying warnings when dealing with GEVD
-+ deleted no longer needed chm folders
-
-
-BUGFIXES:
-
-+ fixed an error in show method for UnivarLebDecDistribution:
- match.call() threw an error
-+ fixed problems with .makeDNew - as .makeDNew is not exported
-+ error in definition of Beta() --- d slot was wrong
-+ corrected typo (inifinite...)
-+ typo in Beta-class.Rd (only in TeX mode) discovered by Thomas Kirschenmann, thk3421 at gmail.com
-+ fixed some issue with X^a, X distribution, a a number ...
-+ tried to fix gaps issue as mentioned by Dirk Surmann, surmann at statistik.uni-dortmund.de
-+ corrected a bug noticed by frank1828 at gmail.com
-+ fixed a bug within internals-qqplot : withConf.sim, withConf.pw had not been removed from call with
- .deleteItemsMCL;
-+ fixed request by B.Ripley as to installed.packages in branch 2.4
-+ fixed gaps issue with .multm
-+ fixed issue with gaps (in case length(gaps)==0)
-
- and: BDR has changed calls to .C in 2.16.0 to calls to .Call; we used this in qqbounds,
- respectively in .q2kolmogorov; now have branching functions .pk2 and .pks2 between ante 2.16. and from 2.16 on
-
-
-##############
-v 2.3
-##############
-
-user-visible CHANGES:
-
-- parameter size in NegbinomDistribution can now be real-valued
-- introduced igamma, the inverse of digamma and corresponding transformations;
- distr: drastically reduced memory needed by smaller grid for igamma
-+ distr: implemented Nataliya's quantile trick to avoid simulated grid points
-
-GENERAL ENHANCEMENTS:
-
-+ [qqplot]
- - had forgot to delete some legend arguments from call mcl ...
- - gains arguments legend.pref and legend.postf to pre/ap-pend text before/after legend text
- - CIs in qqplot may now comprise +-Inf values
- - gains argument legend.alpha to be able to distinguish nominal and actual confidence level
-
-under the hood:
-+ DESCRIPTION files and package-help files gain a tag
- SVNRevision to be filled by get[All]RevNr.R from utils in distr
-
-BUGFIXES:
-
-+ old version of AllClasses.R for package "distr" was fetched
- from R-Forge - warning after merging branch 2.2 into trunk
-
-+ got strange unreproducible error reports in the example to
- simplifyD; set seed now to avoid this.
-
-+ (hopefully) fixed http://n4.nabble.com/R-devel-f909078.html
-
-+ fixed an error with qqplot in distr: mfColRow did not work as it should
- ... now can be used in multipanel plots
-+ fixed minor error in internals-qqplot.R
-
-+ for restoring old par() values, not all attributes may be set;
- hence deleted them from stored value in plot functions by something like
- opar$cin <- opar$cra <- opar$csi <- opar$cxy <- opar$din <- NULL
-
-+ Typos in plot functions...
-
-+ implemented Matthias' proposals, ie
- (1)
- [old]
- newd <- (abs(newd) >= .Machine$double.eps)*newd
- [new]
- newd <- (newd >= .Machine$double.eps)*newd
-
- (2)
- [old]
- rsum.u <- min( sum( rev(cumsum(rev(newd))) <= ep/2)+1, length(supp1))
- [new]
- rsum.u <- min( sum( !(cumsum(rev(newd)) <= ep/2))+1, length(supp1))
-
-
-+ a renaming schedule : enforcing ending .R in convpow.R
-
-+ fixed typo in corrected version of Convpow.R
-
-+ tentative fix for Uwe Ligges' bug report obsevered in
- http://cran.r-project.org/bin/windows/contrib/2.12/check/distr-check.log 15-06-2010
-
-
-+ unnecessary Rplots.pdf deleted from inst folders of
- distr and distrMod (are created anyway during vignette build)
-
-+ changed mail address:
- triggered by mail by Sven Sewitz sas69 at cam.ac.uk, replaced all dead links
- to distr.pdf in www files by url to vignette of distrDoc on CRAN;
- also replaced uni-bayreuth.de mail address by itwm.fraunhofer.de one
-
-----------------
-Changes after changes in R , R-forge
-----------------
-
-+ cleanup issues:
-
- -Package: distr Version: 2.2 Flavor: r-devel-linux-ix86
- Check: package vignettes ... WARNING
- *** Weave Errors ***
- File /home/hornik/tmp/R.check/r-devel/Work/PKGS/distr.Rcheck/inst/doc/newDistributions.Rnw :
- chunk 20 (label=cleanup)
- Error : package SweaveListingUtils is required by distr so will not be detached
-
-
- => removed tag in distr.Rnw in distrDoc
- <<cleanup, echo=FALSE>>=
- unloadNamespace("SweaveListingUtils")
- @
- similarly in newDistributions.Rnw
-
- => small changes in SweaveListingUtils in order to pass R CMD check again...
-
-
-
-
-##############
-v 2.2
-##############
-
-user-visible CHANGES:
-
-+ moved Distribution symmetry classes and corresponding methods/functions from distrMod to distr
- * introduced new slot "Symmetry" (of Class "DistributionSymmetry") in class Distribution
- * adapted all algorithms in distr (arithmetics; generators) to take care about this new slot
-
-
-+ (sort of) version management
- * enhanced conv2NewVersion --- did not work before as intended in cases where
- there is a particular initialized method with less arguments...
- * correspondingly .lowerExact, .logExact Symmetry methods now are exported
- * .lowerExact, .logExact methods now issue a warning before coercing to new version and
- return corresponding slot of converted object
- * corrected some small bug in demo ConvolutionNormalDistr.R
- * method for UnivarMixingDistribution
-
-+ enhanced abs()
- * for ContDistribution / DiscreteDistribution
- * for ContDistribution now forces argument x --- caused errors in mad() for instance
-
-+ in distr generating functions [Univar]DistrList() gain Dlist argument
-
-+ plotting:
- * new diagnostic function qqplot to check the compatibility of two distributions
- + special method for first argument "UnivariateDistribution" (to be checked
- for compatibility) and for second argument of class "UnivariateDistribution"
- (H_0 distribution)
- + comes with corresponding (pointwise/simultaneous) confidence intervals
-
-
-GENERAL ENHANCEMENTS:
-
-+ added tests/Examples folder with file distr-Ex.Rout.save to have
- some automatic testing
-+ added field "Encoding: latin1" to all DESCRIPTION files in order to avoid problems
- with e.g. Windows locale when svn replaces $LastChangedDate
-+ added TOBEDONE (sic!) files for each package (by accident also in trunc; these are empty so far)
-+ vignette:
- * included svn-multi style files to /inst/doc folders for upload on CRAN
-
-BUGFIXES:
-
-+ fixed an inconsistency of Truncate for DiscreteDistributions; to better match Huberize and Min/Max
- Truncation should be done for m<=object<=M instead of m<object<=M --- also the reason why
- demo censoredPois of distrMod threw errors.
-+ changed initialize methods for AbscontDistribution and DiscreteDistribution in distr;
-+ RtoDPQ.LC now correctly sets .withArith, .withSim slots in discretePart and .logExact,
- .lowerExact in both discretePart and acPart
-+ fixed a minor error in manual to plot-methods
-+ fixed issue in .presubs after change of for() etc semantics
-+ fixed buglet in .qmixfun
-+ internal helper function .trunc.low wrongly used p.l and q.r ...
-
-##############
-v 2.1
-##############
-
-* DISTRIBUTIONS
-->DISCRETE DISTRIBUTIONS
- --collapsing discrete distributions:
- +getdistrOption(".DistrCollapse.Unique.Warn")
- +implemented proposal by jacob van etten
- (collapsing support)
- --enhance accuracy
- + yet another improvement of .multm (now sets density for discrete distributions
- for non-support arguments actively to 0)
- + We are a bit more careful about hitting support points in .multm for
- DiscreteDistribution (i.e., for D * e2, e2 numeric, D DiscreteDistribution)
-->CONTINUOUS DISTRIBUTIONS
- --gaps/support :
- +gaps matrix could falsely have 0 rows (instead of being set to NULL)
- +class UnivarMixingDistribution gains overall slots gaps support
- +added corresponding accessors
- +correspondingly, for UnivarLebDecDistribution as daughter class,
- accessors gaps(), support() refer to "overall" slots, not to slots of acPart, discretePart
- +deleted special support, gaps method for UnivarLebDecDistribution;
- now inherits from UnivarMixingDistribution
- +new utility function .consolidategaps to "merge" adjacent gaps
- +setgaps method for UnivarMixingDistribution
- +correspondingly,
- * method "*", c("AffLinUnivarLebDecDistribution","numeric"),
- * method "+", c("AffLinUnivarLebDecDistribution","numeric"),
- * method "*", c("UnivarLebDecDistribution","numeric"),
- * method "+", c("UnivarLebDecDistribution","numeric"),
- * generating function "UnivarLebDecDistribtion"
- had to be modified
- +utility 'mergegaps' catches situation where support has length 0
- +abs - and Truncate - methods for AbscontDistribution use '.consolidategaps'
-->COMPOUND DISTRIBUTIONS
- + Compound Distributions are now implemented;
- see ?CompoundDistribution, class?CompoundDistribution
-->UNIVARIATE MIXING DISTRIBUTIONS
- + fixed some errors / made some enhancements acc. to
- mail by Krunoslav Sever <sever at hsuhh.de>
-
-* ENHANCED ACCURACY BY LOG SCALE
-+ enhanced accuracy for Truncation with Peter Dalgaard's trick
-+ passed over to log-scale for getUp, getLow (again to enhance accuracy
- for distributions with unbounded support)
-+ introduced new slots .lowerExact and .logExact for objects of class
- "Distribution" (or inheriting) to control whether the argument parts
- log[.p], lower.tail are implemented carefully in order to preserve
- accuracy.
-
-* ARITHMETICS
--- enhanced "+" method
- +for DiscreteDistribution,DiscreteDistribution ---
- catches addition with Dirac-Distribution
- + we enforce to use FFT-based algorithm for LatticeDistributions
- if the supports of both summands may be arranged on a common lattice
- whenever the length of convolutional grid (= unique(sort(outer(support1, support2, "+"))) )
- is smaller than the length of the product grid ( = length(support1) * length(support2) )
- --- covers in particular m1*Binom(p,size) + m2*Binom(p',size) when m1, m2 are naturals > 1 ...
--- convpow:
- + some minor enhancements in convpow and "+", "LatticeDistribution","LatticeDistribution"
- and correction of a buglet there (e.g., lattice width oould get too small)
- +method for AcDcLcDistribution gains argument 'ep' to control
- when to ignore discrete parts (or a.c. parts)
- which summands in binomial expansion of (acPart+discretePart)^\ast n to ignore
- +minor fix in method for DiscreteDistribution
--- automatic image distribution generation
-+ slot r is now /much/ faster / slimmer for results of *,/,^
- (no split in pos/neg part necessary for this!)
-+ slot d for results of *,/, exp() now is correct at 0 by extrapolation
- (and deletion wir .del0dmixfun of half of the part to avoid double counting in *,/)
--- affine linear trafos return slot X0 of AffLin-Construction if resulting a=1 and b=0
--- sqrt now dispatches correctly for Abscont and DiscreteDistribution.
-
-* PLOTTING
- + enhanced automatic plotting range selection
- + plot-methods in branches/distr-2.1 now accept to.draw.arg no matter whether mfColRow==TRUE or FALSE
- + fixed xlim and ylim args for plots; ylim can now be matrix-valued...
- + realized suggestions by A. Unwin, Augsburg;
- plot for L2paramFamilies may be restricted to selected subplots;
- + also named parameters are used in axis annotation if available.
- + changed devNew to only open a device if length(dev.list())>0
- + plot (for distribution objects) now is conformal
- to the (automatic) generic, i.e. it dispatches on signature (x,y)
- and has methods for signature(x=<distributionclass>,y="missing")
-
-
-* NEW / ENHANCED METHODS
---getLow/getUp:
- +now available for UnivarLebDecDistribution, UnivarMixingDistribution
---q.r, p.l (methods for right continuous quantile function
- and left continuous cdf)
- + for class AbscontDistribution (q.r with 'modifyqgaps')
- + for class UnivarLebDecDistribution
- + for class UnivarMixingDistribution
---prob methods:
- +prob() for DiscreteDistribution-class
- returns vector of probabilities for the support points
- (named by values of support points) )
- + method for UnivarLebDecDistribution: returns a
- two-row matrix with
- * column names values of support points
- * first row named "cond" the probabilities of discrete part
- * second row named "abd" the probabilities of discrete part
- multiplied with discreteWeight; hence the absolute probabilities
- of the support points
---methods p.ac, d.ac, p.discrete, d.discrete:
- * they all have an extra argument 'CondOrAbs' with default value
- "cond" which if it does not partially match "abs", returns exactly
- slot p (resp. d) the respective acPart/discretePart of the object
- else return value is weighted by acWeight/discreteWeight
---new function 'makeAbscontDistribution'
- +to convert arbitrary univariate distributions to AbscontDistribution:
- takes slot p and uses AbscontDistribution(); in order to smear out
- mass points on the border, makeAbscontDistribution() enlarges upper and
- lower bounds
---flat.LCD:
- +setgaps is called only if slot gaps is not yet filled
---general technique: more freguent use of .isEqual
---new / enhanced utilities (non-exported)
- +'modifyqgaps' in order to achieve correct values for slot q
- in case slot p hast constancy regions (gaps)
- +.qmixfun can cope with gaps and may return both left and right continuous versions
- +.pmixfun may return both left and right continuous versions
- in case slot p hast constancy regions (gaps)
-
-
-* DOCUMENTATION
--new section "Extension packages" in package-help file 0distr-package.Rd
--mention of CompoundDistribution-class in package-help file 0distr-package.Rd of devel version
--new vignette "How to generate new distributions in packages distr, distrEx"
- in package distr ...
-
-* Rd-style:
- + several buglets detected with the fuzzier checking mechanism
- cf [Rd] More intensive checking of R help files, Prof Brian Ripley, 09.01.2009 10:25)
- [Rd] Warning: missing text for item ... in \describe? , Prof Brian Ripley,
-
-* S4 ISSUES:
- + fixed setGenerics- error reported by Kurt Hornik...
- "log", "log10", "gamma", "lgamma" are no longer redefined as generics.
- +explicit method "+" for Dirac,DiscreteDistribution
- +some changes to the connections between LatticeDistribution and DiscreteDistribution
- resp. between AffLinLatticeDistribution and AffLinDiscreteDistribution.
- key issues:
- +JMC has changed the way non-simple inheritance [i.e. in the presence of setIs relations]
- is treated (see distr; in particular show, and operator methods for LatticeDistribution)
- works now and could be released as 2.0.1
- ->some explicit methods for LatticeDistribution, as due to setIs Relation
- it may no longer be inherited automatically from DiscreteDistribution
- since JMC's changes in S4 inheritance mechanism Sep/Oct 08
-
-* BUGFIXES
- +fixed a buglet in initialize for Cauchy Distribution
- +fixed bug in "+",LatticeDistribution,LatticeDistribution
- +it may be that even if both lattices of e1, e2 have same width,
- the convoluted support has another width!
- example: c(-1.5,1.5), c(-3,0,3)
- +matrix-valued ylim argument has not yet been dealt with correctly
- +fixed bug in plot-methods for argument "inner" under use of to.draw.arg argument
- +fixed a bug in convpow-method for AbscontDistribution
- +small buglets in plot-methods.R and plot-methods_LebDec.R (moved setting of owarn/oldPar outside)
- +fixed a bug in UnivarMixingDistribution.R (with new argument Dlist)
- +fixed a bug discovered by Prof. Unwin ---
- "+" trapped in a dead-lock coercing between DiscreteDistribution
- and LatticeDistribution
- +fixed a small buglet in convpow().
- +fixed buglet in devel version of distr: getLow.R (wrong place of ")" )
- +fixed some errors in plotting LCD and CompoundDistribution(and enhanced automatic axis labels by some tricky castings...)
- +UnivarMixingDistribution was too strict with sum mixCoeff == 1
- +deleted some erroneous prints left over from debugging in ExtraConvolutionMethods.R
- +fixed some buglets in plot for distr (only in branch)
- +fixed redundant code in bAcDcLcDistribution.R
- +Patch to bug with AffLinAbscontDistribution
-
-##############
-v 2.0.3
-##############
-
- * under the hood:
- + enhanced plotting (correct dispatch; opening of new device is controlled
- by option("newDevice") )
- + after JMC's changes: gone through setIs relations to ensure
- "correct" inheritance
- * new plot function for 'UnivarLebDecDistribution' : now plots 3 lines
- +first line common cdf and quantile function
- +second line abscont part
- +third line discrete part
- * new vignette "How to generate new distributions in packages distr, distrEx"
- * moved license to LGPL-3
- * enhancements for arithmetics:
- + fixed bug with AffLinAbscontDistribution for a*X+b, distribution X >=0
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/distr -r 960
More information about the Distr-commits
mailing list