1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039
|
######################################################################
# 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.9.7
##############
under the hood:
+ adapted reference output for new startupmsg
##############
v 2.9.6 (not submitted to CRAN)
##############
under the hood:
+ fixed some (LaTeX-)encoding issue
##############
v 2.9.5
##############
under the hood:
with the help of K. Hornik identified spurious, platform dependent LF/CR issue
and capsulated calls to infoShow() in Rd files by
## IGNORE_RDIFF_BEGIN
## IGNORE_RDIFF_END
##############
v 2.9.4
##############
under the hood:
+ to comply with _R_USE_STRICT_R_HEADERS_=true, we changed calls to Calloc and Free to
R_Calloc and R_Free in ks.c
##############
v 2.9.3
##############
bug fixes
+ detected by Christoph Dalitz <christoph.dalitz@hs-niederrhein.de>
when multiplying DiscreteDistributions, the positive and negative parts of
which are Dirac Distributions, .finSupport was not returned of length 2
(as needed),
+ fixed a glitch in "+"("DiscreteDistribution","DiscreteDistribution") as
spotted by christoph.dalitz@hs-niederrhein.de
+ fixed some documentation glitches in internal .Rd files as noted in a mail
by K. Hornik, Dec, 15, 2023, with some helpful hints by Michael Lawrence
in a mail Dec, 19, 2023
under the hood:
+ in changes in R-Core in the methods package, internal calls to new()
were prepended by a NAMESPACE qualifier methods:: in Dec 2023;
we had to accomodate for this in our initialize methods; for details
see ll.64-100 in code file initialize.R
##############
v 2.9.2
##############
under the hood:
+ included pkg RobAStBase into "Enhances" in the DESCRIPTION file
+ moved some code in the help to RtoDPQ.d relying on the RNG into IGNORE_RDIFF
+ transformed CITATION file to new format, i.e., bibentry() instead of citEntry(),
c(as.person( .... ), as.person( .... ), ...), instead of
as.personList(....)
##############
v 2.9
##############
user-visible CHANGES:
+ replaced obsolete URLs to JSS papers by respective DOIs
bug fixes
+ fixed a glitch in catching argument names in bAcDcLcDistribution.R
detected by Elio Campitelli <elio.campitelli@cima.fcen.uba.ar>
+ fixed some error in distributional arithmetics brought up by Andrew Robinson <apro@unimelb.edu.au>
to produce meaningful error messages we had code that tried to deparse operands in operations
with restricted definition domains like "/", "^"; it turned our that our idea to catch errors
in this deparsing within a try()-catch did not work any longer when called from within a function;
as way out, we now have code which no longer needs the try()-catch and instead climbs up the
parsing tree and searches for the first occurrence of "/" resp. "^" and deparses this
... in the end this was more complicated than expected, as the parsing tree could give
paste()-results of length > 1... (only popped up in a reverse dependency check through
package distrEllipse)
under the hood:
+ triggered by an email by Santhosh V <Santhosh.V@se.com>, we added a patch to be more careful when producing
slot q for compound and mixing distributions
+ detected by Vlada Milchevskaya vmilchev@uni-koeln.de:
CompoundDistribution(): special treatment of case that NumbOfSummandsDistr is a Dirac distribution
(and detect that for prob in {0,1} Binom(size, prob) is in fact a Dirac distribution)
+ fixed some broken URLs and changed URLs from http to https where possible
changed rstudio.com to posit.co
+ triggered by a mail by B. Ripley, for more significant Rdiff's, we delegated some blocks of
examples to ## IGNORE_RDIFF_BEGIN <code..> ## IGNORE_RDIFF_END
##############
v 2.8.1
##############
under the hood:
+ triggered by new NOTES uncovered by R CMD check, we deleted duplicate entries for items f and supp
in internals.Rd, and cross references for packages distrMod and RobAStBase, which need not be available.
+ fixed URL references to nabble.com which are no longer available
##############
v 2.8
##############
user-visible CHANGES:
+ DESCRIPTION tag SVNRevision changed to VCS/SVNRevision
+ plot methods now return an S3 object of class \code{c("plotInfo","DiagnInfo")}, i.e., a list containing the
information needed to produce the respective plot, which at a later stage could be used by different graphic engines (like, e.g.
\code{ggplot}) to produce the plot in a different framework. A more detailed description will follow in a subsequent version.
+ accessor & replacer for prob, GeomParameter are finally Defunct
+ liesInSupport gains an argument checkFin; in case of DiscreteDistributions, it tries to use
additional information from internal slot .finSupport, and e.g. if there is a lattice.
+ liesInSupport now also is available for UnivarLebDecDistribution, LatticeDistribution, and UnivarMixingDistribution
+ clarified that the Gumbel distribution has been moved to RobExtremes in vignette newDistributions-knitr.Rnw
+ modified devNew(): in interactive mode it now asks the user to shut some devices first when
length(dev.list())>20; and in non-interactive mode, when length(dev.list())>20, it shuts
the first 15 open devices first; this is documented now in ?devNew
+ included pkgs distrMod and ROptEst into suggested pkgs in DESCRIPTION
under the hood:
+ DiscreteDistribution(s) gain a logical slot .finSupport to better control whether the
"true" support (not the possibly truncated one in slot support) is infinite (more precisely
it is of length 2 -- first coordinate if the lower bound of the support is finite, second if
the upper bound is finite)
+ changed definition of q(DExp(..)) in initialize method in AllInitialize.R
from ifelse expressions to index operations to avoid warnings
+ in distr::solve only try base::solve if arg "a" has no dim or if it has then
if nrow(a)==nrow(b); otherwise directly use MASS::ginv
+ introduced particular liesInSupport methods for all specific abs.cont distributions in distr
+ in reaction to mail by B.Ripley Feb 20, 19/ explanation by T. Kalibera, that our code to
look into system.call() stack was buggy and failed in staged installation, we revised code to .modifyqgaps completely;
we now compute p(obj)(gaps) and check if any argument p of q(obj) falls within the gap range and then shift it to either
the left or right endpoint of the gap acc. to args lower.tail and leftright. To avoid redoing this whenever slot gaps
is changed, we store the unmodified q(obj) function in an internal variable ..q0fun which can also be used
(if existant in the env() of q(obj)) to revert the gaps modification, and any gaps modification, instead of starting
from q(obj) starts with ..q0fun (if this exists); otherwise, i.e., if ..q0fun does not exist, it uses q(obj) and
afterwords stores the old q(obj) as ..q0fun ...
+ .modifyqgaps can now digest args pfun and qfun with or without arguments log.p and lower.tail
bug fixes
+ fixed a (newly introduced) bug in exp() for DiscreteDistribution -- forgot to return obj ...
+ Bernhard discovered a bug in devNew() -- it opened new devices even if option("newDevice"==FALSE)
+ detected that the initialize method of Weibull lacked a .withArith argument to capture the scale structure
+ unknown variable p in S4method to Minimum(absCont,absCont)
##############
v 2.7
##############
user-visible CHANGES:
+ new Methods p.r and q.l, synonyma for p and q (useful for use in RStudio and
in Jupyter IRKernel)
+ more precise formulation of how to use calls to q() for RStudio
and Jupyter IRKernel (i.e., use q.l)
+ switch from SweaveListingUtils to knitr in vignettes
+ replaced http://CRAN... by https://CRAN... (also in CITATION and similar files)
+ updated address (Oldenburg) in several vignettes
+ minor fix in doc to Arcsine distribution
under the hood:
+ wherever possible also use q.l internally instead of q to
provide functionality in IRKernel
+ registered native code
bug fixes
+ fixed a bug in plot (q) for LebDec-Distributions (verticals were not plotted correctly)
+ panel selection mechanism had a bug for LebDec-Distributions
+ fixed axis annotation: if xlab="" or ylab="" the respective lab are "" for all panels
+ in a loop the names of slots acWeight, discreteWeight will grow;
fix this by setting the prior names to NULL
+ the gaps matrix could have zero rows
+ fixed an issue with <distr>/<distr> or <number>/<distr> spotted by JJ (JJ APONTE VARON)
+ fixed usage issue with sqrt
+ fixed http(s)-warning
+ fixed [[]] issue in flat.R
+ bug fix in Compound distribution bug detected by Wolfgang Kreitmeier <wkreitmeier@gmx.de> 29.07.2016
##############
v 2.6.2
##############
+ fixed internals as triggered by mail "CRAN package distr"
by Kurt Hornik from Apr 07 2017; most importantly, we
registered native code and took out some usage example of sqrt().
##############
v 2.6
##############
user-visible CHANGES:
+ title changed to title style / capitalization
+ added reference to JSS paper in IllustCLT
+ updated references in vignette 'newDistributions'
+ added generating function "EmpiricalDistribution" which is a simple
wrapper to function "DiscreteDistribution"
+ arguments panel.first, panel.last for plot-methods can now be lists
+ qqplot gains pattern substitution like plot in titles and x/y axis lables
+ pattern substitution can now be switched on and off in all plot
functions according to argument withSubst
+ new methods q.l and p.r as synonyma for slot accessors q and p --
the former one is useful in particular when using RStudio, as they
catch calls to q() [quitting an R session] and treat them separately
which renders calls to our method q() (with respective signature,
i.e., with a distribution as [first] argument) inaccessible from
the console... so far only a call to distr::q was helping...
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
+ now returns an object of S3-classes "qqplotInfo","DiagnInfo"
to be able to recover all information used to produce the plot
for later use in enhanced graphics (e.g. with ggplot)
-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]
-plot:
+ fixed some issues with plotting of distributions: xlim, ylim were not
correctly passed on, same for col => now use dots.lowlevel ...
-helper function .isReplicated gains an optional argument tol
- bug fixes:
+ fixed a bug in plot (q) for LebDec-Distributions (verticals were not plotted correctly)
+ panel selection mechanism had a bug for LebDec-Distributions
+ fixed axis annotation: if xlab="" or ylab="" the respective lab are "" for all panels
##############
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@babraham.ac.uk
+ found a missing drop=FALSE in .mergegaps2
+ fixed an issue with casting AffLinDiscreteDistributions to LatticeDistributions
(discovered by Kostas Oikonomou, ko@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@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@gmail.com
+ fixed some issue with X^a, X distribution, a a number ...
+ tried to fix gaps issue as mentioned by Dirk Surmann, surmann@statistik.uni-dortmund.de
+ corrected a bug noticed by frank1828@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@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@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
+ slot r is now /much/ faster and slimmer for results of *,/,^
(hint: no split in pos/neg part necessary for this!)
+ slot d for results of *,/, exp() now is correct at 0 by extrapolation
(and deletion with .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
+ method sqrt() for distributions
* correction of small buglet in validity to Norm-class
##############
v 2.0
##############
* made calls to 'uniroot()', 'integrate()', 'optim(ize)()' compliant to
https://stat.ethz.ch/pipermail/r-devel/2007-May/045791.html
* new generating function 'AbscontDistribution'
* new class 'UnivarMixingDistribution' for mixing distributions with
methods / functions:
+'UnivarMixingDistribution' (generating function)
+flat.mix to make out of it a distribution of class
'UnivarLebDecDistribution'
* new class 'UnivarLebDecDistribution' for a distribution with a
discrete and a.c. part; corresponding methods / functions:
+'UnivarLebDecDistribution' (generating function)
+'acPart', 'discretePart' return corresponding parts
+'acWeight', 'discreteWeight' return corresponding weights
+special 'plot' functions (only for cdf and quantile function)
[plotting jumps in both cdf and quantile function]
* new class 'AffLinUnivarLebDecDistribution' for affine linear transformations
of 'UnivarLebDecDistribution' (in particular for use with E())
* new class union 'AcDcLcDistribution' as common mother class
for 'UnivarLebDecDistribution', 'AbscontDistribution',
'DiscreteDistribution'; corresponding methods / functions:
* enhanced arithmetic: (for 'AcDcLcDistribution')
* convolution for 'UnivarLebDecDistribution'
* affine linear trafos for 'UnivarLebDecDistribution'
* 'numeric' / 'AcDcLcDistribution'
* 'AcDcLcDistribution'^'numeric'
* 'numeric'^'AcDcLcDistribution'
* binary operations for independent distributions:
o 'AcDcLcDistribution' * 'AcDcLcDistribution'
o 'AcDcLcDistribution' / 'AcDcLcDistribution'
o 'AcDcLcDistribution' ^ 'AcDcLcDistribution'
* (better) exact transformations for exp() and log()
* Minimum Maximum Truncation Huberization
* convpow for 'UnivarLebDecDistribution'
* 'decomposePM' decomposes distributions in positive / negative part
(and in Dirac(0) if discrete)
* 'simplifyD' tries to cast to simpler classes (e.g. if a weight is 0)
##############
v 1.9
##############
* made calls to 'uniroot()', 'integrate()', 'optim(ize)()' compliant to
https://stat.ethz.ch/pipermail/r-devel/2007-May/045791.html
* new methods 'shape()' and 'scale()' for class Chisq with ncp=0
* methods getLow, getUp for upper and lower endpoint of support of
DiscreteDistribution or AbscontDistribution
(truncated to lower/upper TruncQuantile if infinite)
* added S4-method 'convpow' for convolutional powers from the examples
of package 'distr' with methods for
+ 'LatticeDistribution' and 'AbscontDistribution'
+ and particular methods for
o Norm, Cauchy, Pois, Nbinom, Binom, Dirac,
and ExpOrGammaOrChisq (if summand 'is' of class Gammad)
* moved some parts from package 'distrEx' to package 'distr'
+ generating function 'DiscreteDistribution'
+ univariate methods of 'liesInSupport()'
+ classes 'DistrList' and 'UnivariateDistrList'
+ generating functions EuclideanSpace() ,Reals(), Naturals()
* 'LatticeDistribution'
+ new class 'Lattice' to formalize an affine linearly generated grid
of (support) points pivot + (0:(Length-1)) * width
+ usual accessor/replacement functions to handle slots
+ new class 'LatticeDistribution' as intermediate class between
'DiscreteDistribution' and all specific discrete distributions from 'stats'
package with a particular convolution method using FFT (also for 'convpow')
+ usual accessor function 'lattice' for slot 'lattice'
* cleaning up the sources
+ adapted the naming of the .R files to the use of the (later written)
extension packages
(and according to http://tolstoy.newcastle.edu.au/R/help/06/03/22558.html)
+ checked all source file to adhere to the 80char's-per-line rule
* revised generating functions/initialize methods according to
http://tolstoy.newcastle.edu.au/R/e2/devel/07/01/1976.html
+ in particular all Parameter(-sub-)classes gain a valid prototype
* new exact arithmetic formulae:
+ 'Cauchy' + 'Cauchy'
: gives 'Cauchy'
+ 'Weibull' * 'numeric'
: gives 'Weibull' resp. 'Dirac' resp 'AbscontDistribution'
: acc. to 'numeric' >, =, < 0
+ 'Logis' * 'numeric'
: gives 'Logis' resp. 'Dirac' resp 'AbscontDistribution'
: acc. to 'numeric' >, =, < 0
+ 'Logis' + 'numeric'
: gives 'Logis'
+ 'Lnorm' * 'numeric'
: gives 'Lnorm' resp. 'Dirac' resp 'AbscontDistribution'
: acc. to 'numeric' >, =, < 0
+ 'numeric' / 'Dirac'
: gives 'Dirac' resp. error acc. to 'location(Dirac)' ==, != 0
+ 'DiscreteDistribution' * 1 returns the original distribution
+ 'AbscontDistribution' * 1 returns the original distribution
+ 'DiscreteDistribution' + 0 returns the original distribution
+ 'AbscontDistribution' + 0 returns the original distribution
* enhanced Information:
+ command 'distrARITH()' gains an argument 'library'
+ new file MASKING and corresponding command 'distrMASK()' to describe the
intended maskings
* mentioned in package-help: startup messages may now also be suppressed by
suppressPackageStartupMessages() (from package 'base')
* formals for slots p,q,d as in package stats to enhance accuracy
+ p(X)(q, lower.tail = TRUE, log.p = FALSE)
+ q(X)(p, lower.tail = TRUE, log.p = FALSE)
+ d(X)(x, log = FALSE)
used wherever possible;
but backwards compatibility:
always checked whether lowert.tail / log / log.p are formals
* cleaning up of environment of r,d,p,q-slot - removed no longer needed objects
* enhanced plot methods
+ for both AbscontDistributions & DiscreteDistributions :
o optional width and height argument for the display (default 16in : 9in)
-opens a new window for each plot
-does not work with /Sweave/;
workaround: argument withSweave=TRUE
in .Rnw-file: use width and height argument like in
<<plotex1,eval=TRUE,fig=TRUE, width=8,height=4.5>>=
....
@
o optional main, inner titles and subtitles with main / sub / inner
- preset strings substituted in both expression and character vectors
(x : argument with which plot() was called)
~ %A deparsed argument x
~ %C class of argument x
~ %P comma-separated list of parameter values of slot param of argument x
~ %N comma-separated <name>=<value> - list of parameter values of slot param of argument x
~ %D time/date at which plot is/was generated
~ %Q comma-separated list of parameter values of slot param of argument x in parenthesis or "" if empty
- title sizes with cex.main, cex.inner, cex.sub
- bottom / top margin with bmar, tmar
- setting of colors with col / col.main / col.inner / col.sub
o can cope with log-arguments
o setting of plot symbols with pch / pch.a / pch.u (see ?"plot-methods")
o different symbols for unattained / attained one-sided limits
o do.points argument as in plot.stepfun()
o verticals argument as in plot.stepfun()
o setting of colors with col / col.points / col.vert / col.hor
o setting of symbol size with with cex / cex.points
(see ?"plot-methods")
+ for AbscontDistributions
o (panel "q"): takes care of finite left/right endpoints of support
o (panel "q"): optionally takes care of constancy regions (with do.points/verticals)
o ngrid argument to set the number of grid points
+ for DiscreteDistributions :
o using stepfun()
* left-continuous c.d.f. method (p.l) and
right-continuous quantile function (q.r) for DiscreteDistributions
* new slot 'gaps' (a n x 2 matrix or NULL) for AbscontDistribution
to cope with intervals where d-slot is 0.
+ new class OptionalMatrix (matrix or NULL)
+ accessor/replacement function gaps()
+ setgaps() to automatically fill gaps-slot
* Version-management for changed class definitions to AbscontDistribution
and to (changed by inheriting from LatticeDistribution!) subclasses of
LatticeDistribution (Geom, Binom, Nbinom, Dirac, Pois, Hyper):
+ moved generics to isOldVersion(), conv2NewVersion() from distrSim to distr
+ moved (slightly generalized version of) isOldVersion() (now for signature "ANY")
from distrSim to distr
+ new methods for conv2NewVersion for signature
o "ANY" (fills missing slots with corresponding entries from prototype)
o "LatticeDistribution": generates a new instance (with slot lattice(!))
by new(class(object), <list of parameters>)
* new (internally used) classes AffLinAbscontDistribution, AffLinLatticeDistribution
and AffLinLatticeDistribution to capture the results of transformations
Y <- a * X0 + b for a, b numeric and X0 Abscont/Discrete/LatticeDistribution
and a class union AffLinDistribution of AffLinAbscontDistribution and AffLinLatticeDistribution
to use this for more exact evaluations of functionals in distrEx
* analytically exact slots d,p (and higher accuracy for q) for distribution objects
generated by functions abs, exp, log for classes AbscontDistribution and DiscreteDistribution
DEPRECATED:
* class GeomParameter --- no longer needed as this the parameter
of a NBinom with size 1
##############
v 1.8
##############
* Class DExp() introduced (with documentation)
* show() for UnivariateDistribution now is the same as print()
* dim() method for UnivariateDistribution
* distr (together with distrEx, distrSim, distrTEst) now includes a vignette --- try
vignette("distr")
##############
v 1.7
##############
* standardMethods() is again included (with documentation)
* distroptions() / getdistrOption() now behave exactly like options() / getOption() options --- also compare mail
"Re: [Rd] How to implement package-specific options?" by Brian Ripley on
r-devel, Fri 09 Dec 2005 - 11:52:46, see http://tolstoy.newcastle.edu.au/R/devel/05/12/3408.html
* suggested by M. Maechler: on attaching the package there is a (sort of)
warning as to the interpretation of
+arithmetics for distributions
as well as to the
+accuracy of slots p,d,q filled by means of simulations;
these warnings are issued at two places:
(1) on attaching the package
(2) at every show/print of a distribution
o (2) can be cancelled by switching off a corresponding global option in distroptions() -- see ?distroptions .
* all specific distributions (those realized as [r|d|p|q]<name> like rnorm in package stats)
now have valid prototypes
* fixed arguments xlim and ylim for plot(signature("AbscontDistribution" or "DiscreteDistribution"))
thus: plot(Cauchy(),xlim=c(-4,4)) gives reasonable result (and plot(Cauchy()) does not)
* Internationalization: use of gettext, gettextf for output
* explicitly implemented is() relations: R "knows" that
o an Exponential(lambda) distribution also is a Weibull(shape = 1, scale = 1/lambda) distribution, as well as a Gamma(shape = 1, scale = 1/lambda) distribution
o a Uniform(0,1) distribution also is a Beta(1,1) distribution
o a Cauchy(0,1) distribution also is a T(df=1, ncp=0) distribution
o a Chisq(df=n, ncp=0) distribution also is a Gamma(shape=n/2, scale=2) distribution
* noncentrality parameter included for Beta, T, F distribution
* exact +,* for Cauchy and Dirac, for latter also -,/
* "simplifyr": changed default values (using option RtoDPQ.e)
* masking of function sd from stats to have an additional ... argument
* masking of function df from stats to have an additional ... argument
* Internationalization: use of gettext, gettextf in output
* updated citation file
* noncentrality parameter included for Beta, Td, F (for new d,p,q,r, but compatible with 2.2.x)
also in the documentation
* Geom is now subclass of Nbinom
* virtual superclass ExpOrGammaOrChisq for Chisq,Exp,Gammad
* NEWS file
* commented ARITHMETICS file
* revised help for operators
* new package documentation distr-package.Rd
##############
v 1.6
##############
Our package is reorganized:
* distr from now on only comprises distribution classes and methods
* simulation classes and methods have been moved to the new package distrSim
* evalation classes and methods have been moved to the new package distrTEst
* a new class distrEx has been added by Matthias Kohl, providing additional features
like distances between distributions, expectation operators etc
* a new class RandVar has been added by Matthias Kohl, providing conceptual treatment
of random variables as measurable mappings
##############
v 1.5
##############
* package is now using lazy loading
* minor changes in the help pages
* minor enhancements in plot for distributions (Gamma, discrete distributions)
* package now includes a demo - folder; try demo("distr")
* class Gamma has been renamed Gammad to avoid name collisions
* we have a CITATION file now; consider citation("distr")
* enhanced demos:
+ convolution of uniform variables now includes exact expressions
+ min/ max of two variables now available for discrete distributions
* rd-Files have now a keyword entry for distribution and thus may be found by the search engine
* exact formula for "Unif" o "numeric" where o \in { +,-,*,/ }
##############
v 1.4
##############
* to avoid name collisions with short forms for TRUE and FALSE: classes T and F (T- and F-distributions) renamed to Td and Fd
* package is now loaded as a binary => considerable speed gain
* using subsititute the bodies of the r,d,p,q-function-slots distributions show the parameter values with which they were generated
* convolutions and applications of the math group may now be traced in r-slot of a distribution object, compare
r(sin(Norm()) + cos(Unif() * 3 + 2))
* parameters of a distribution (mean, sd, etc) are now tested on length 1
+ we see the objects as implementations of univaritate distributions, so vectors make no sense here;
rather one could gather several objects with possibly different parameters to a vector of distributions.
Of course, the original functions rnorm etc remain unchanged and still allow for vector-valued parameters.
* Classes "Parameter", "Distribution" , "UnivariateDistribution" are no longer VIRTUAL
* "AbscontParameter" and "DiscreteParameter" are replaced by "Parameter"
* type of slots d, p, q and param changed to "OptionalFunction" and "OptionalParameter", respectively
##############
v 1.3
##############
* changes in the Help-File to pass Rcmd check
##############
v 1.1
##############
* implementation of further exact convolution formulae for distributions Nbinom, Gamma, Exp, Chisq
* exact formulae for scale transformations for the distributions Gamma, Exp
* slot "seed" in simulation classes is now controlled and set via the setRNG package by Paul Gilbert
|