-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
executable file
·1807 lines (1608 loc) · 102 KB
/
NEWS
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
--------------------------------------------------------------------------------
NEWS for R Package "lmomco"
--------------------------------------------------------------------------------
Changes in version 2.5.2 (2024-NN-NN)
- Added the interal mylegend() hack to plotlmrdia() to silence certain
combinations of ... arguments that make legend() therein stop with Error.
- Added the interal mylegend() hack to plotlmrdia46() to silence certain
combinations of ... arguments that make legend() therein stop with Error.
- Added the Gamma Difference distribution as "gdd."
- Added Benford distribution, cdfben(), lmomben(), pmfben(), quaben().
- Minor math delimiter size changes in PDQ3 and PDQ4 quantile functions.
- Updated contact structure in DESCRIPTION to the Authors "at" R style.
Changes in version 2.5.1 (2024-05-02)
- Added trajectory of PE3 and GNO to extend beyond Tau3 -0.9 and +0.9 in
lmrdia(). I do not recall why these two distributions were stopped at these
limits of Tau3; trajectory now canvases to abs(Tau3_ --> 1 and Tau4 --> 1.
- Removed \url{} declaration headrick.sheng.lalpha.Rd and converted to \code{}
to disable URL that in spring 2024 points to a "non-private connection."
Changes in version 2.5.0 (2024-05-01)
- Aborted release to CRAN.
- Added lwd.cex and expand.names arguments to plotlmrdia().
- Added opposite axis ticking in plotlmrdia() with axTicks added to NAMESPACE.
- Audited coloring and lines in plotlmrdia.R/Rd.
- Added lmrdia46() and plotlmrdia46() along with addition of another step in
building the sysdata.rda for support of Tau4-Tau6 diagrams in
inst/doc/SystemBuilder02.R. This results in the expansion of the
.lmomcohash to include a new entry tau46list with the tables of Tau4 and
Tau6 for the distributions supported by plotlmrdia46().
- Added new auxiliary information in inst/doc/t4t6 related to lookup tables
of Tau4-Tau6 for the symmetrical distributions. There is a another script
inst/doc/t4t6/studyST3.R that documents some of the testing and revisions
to tau6 polynomial approximation in lmomst3.R.
- Audited the family of Student 3t functions and in particular the lmomst3.R
and parst3.R with re-evaluation of computational range and numerical
integration testing for new values of small and large NU parameter.
This means also an overhaul on the root finding for parameter estimation
and now rely on theoTLmoms() and not previous polynomial assistance.
- Removed ST3 moving to the [dpq]norm() functions for large NU and now relying
entirely on the [dpq]t() functions.
- Updated man/lmomcohash.Rd accordingly with the new Tau4-Tau6 business.
- Migrated DESCRIPTION to require R >3.5.0 so that new serialization on the
R/sysdata.rda is supported.
- Ran inst/doc/SysDataBuilder.R for the first time in many years and had
errors in incomplete change of variable naming associated with Rice
distribution that must have happened about version 1.2.1 (2010-11-20).
Ran the updated script and checked its sysdata.rda rendering to that
already in lmomco/sysdata.rda and not change in Rice distribution content
observed. Renamed SysDataBuilder.R to SysDataBuilder01.R (Step 1) to show
its first presence to the SysDataBuilder02.R (Step 2).
- Name change to SysDataBuilder01.R required updates to lmomrice.Rd,
paraep4.Rd, and parrice.Rd.
- Minor corrections for Slash: cdfsla.Rd, is.sla.Rd, lmomsla.Rd, and pdfsla.Rd.
- Extended lmrdia46() to the Cauchy and the Slash by theoTLmom() integration.
- Revised lmrdia() for the Cauchy from not limited Tau4 but its Tau4^(1) so
conceptually the Cauchy displays as the Slash does with trim=1 TL-moments.
- Revised color of the Cauchy and Slash as "turquoise4" for plotlmrdia() and
that same color used in plotlmrdia46().
- Revised color of the GEV as "darkred" for plotlmrdia() as part of adding the
nondefault plotting of the Weibull distribution in darkorange. Both line
types are now solid.
- For *aep*.Rd files, added note, keyword, and cross-link to lmr46.Rd that the
AEP4 for Tau3 = zero is the Exponential Power distribution.
- Disabled a url to University of Virginia in headrick.sheng.lalpha.Rd as it
was not resolving and hence CRAN checks would not pass.
- Revised some pargld.Rd text related to Tukey Lambda and cleaned up the
Examples section.
Changes in version 2.4.14 (2024-02-19)
- Added the sort=TRUE argument to xlo2qua(). The need was that the original
vision of the xlo family of operation was tied to sorted data sets and or
truncation of vector lengths tied to the needs of plotting frequency
curves. However, there became a need for order preservation and vector
length preservation when the xlo2qua() were to be used for joint
probability problems. As a result, the sort=FALSE triggers a new block of
code (in order to preserve previous behavior by default) and within this
block the f2flo()-like probability mapping is done.
- Added the fillthres=TRUE argument to xlo2qua() to fill the NAs and quantiles
below the threshold with the threshold held in the xlo argument.
Changes in version 2.4.13 (2024-01-08)
- Brace edits to par2qua2lo.Rd wherein devel-R picked up Rd format note.
Changes in version 2.4.12 (2024-01-07)
- Spelling corrections within this NEWS.
- Added the disfitgovloc() function for parameter estimation of distribution
Govindarajulu to specified lower and upper bounds in conjunction with a
measure of location (mean or median).
- Minor grammar changes to disfitqua.Rd.
- BUG FIX: lmomkap() was not returning the lambda[3] of the distribution.
Simple fix but amazing the bug has existed since very beginning of lmomco.
Minor update in lmomkap.Rd with a non-NULL example data set for Kappa.
- Added the xlo2qua() function to help reform the quantiles stemming from an
f2flo() call on the nonexceedances and augmentation of the quantiles with
the threshold. This helps to streamline lines of code used in for blipped
or conditional truncated distribution modeling.
- Extended theoLmoms(), theoTLmoms(), and theopwms() to detect failure in the
numerical integration and switch over to Monte Carlo integration. Within
Examples of theoTLmoms.Rd, and theopwms.Rd added demonstration of places
in Kappa (k,h)-space for which numerical integration is triggered for at
least one of the L-moments or probability-weighted moments. This extension
should provide for even more flexibility within the package.
*** Note, some of the motivation here was for looking again at the cases
*** that either the L-moments or parameter estimation of the Kappa is a
*** problem. Potentially, these additions might be used for backstopping
*** certain "failures" of extant Kappa algorithms. *********************
- Added export("utils", "str") to NAMESPACE because a print(str()) is used in
theoTLmoms() and theopwms().
- Adjusted preformatted code demonstration in the parpdq4.Rd for simple bugs
in the plotting operations.
- Changed choose()'s to exp(lchoose()'s) in TLmom.R to support very large
trimming. Truncation errors were adding up in some tests; so, the change
to using logarithms. Also, changed the nexted for() loops to nested
sapply() calls.
- Grammar edits in lmoms.bootbarvar.Rd.
Changes in version 2.4.11 (2023-08-30)
- BUG FIX: par2cdf() had improper routing of the new "smd" distribution.
- Added "lower bounds" to the AEP4 in the autolegend of plotlmrdia().
- Coordination with strong reverse depends with Berry Boessenkool
(author of extremeStat package).
- Converted the emplims argument of parsmd() to snap.tau4, which aligns to the
nomenclature of the asymmetric exponential power4 distribution use.
- Added ncol and text.width as arguments to plotlmrdia() call to legend().
Changes in version 2.4.10 (2023-08-21)
- Added more details to lmomcohash.Rd that supports the .lmomcohash.
- Grammar and minor changes to spacing in expect.max.ostat.Rd Examples.
- Added more references to headrick.sheng.lalpha.Rd.
- Added lmrloc() for line of organic correlation (reduced major axis) line
fitting by L-moments and product moments.
- Corrected range of the viable A and B parameters for pp() and added the
constraints to them with each other in the pp.Rd.
- Systematic standardization to "init.para" for initial parameters as the list
object throughout the package. Interface changes to distfitqua.R/Rd,
mle2par.R/Rd, mps2par.R/Rd, tlmr2par.R/Rd, and x2pars.R (only the .R);
examples in pdfgev.Rd and pdfgld.Rd. There is no support for reverse
handling previous argument called para.int.
- Changed lmomco-package.Rd example to use initial L-moments for mle2par() and
mps2par() from using initial parameters. Related to auditing for the
previous listed change.
- Added ptransf and pretransf arguments to disfitqua() to align to support
already in mle2par() and mps2par().
- Added ptransf and pretransf arguments to tlmr2par() to align to support
already in mle2par() and mps2par().
- Added indexing keywords for the external package(s) involved with the
function's code and (or) documentation: cdfgam.Rd (gamlss.dist),
cvm.text.lmomco.Rd (goftest), lmomgam.Rd (flexsurv, gamlss.dist),
lmomkur.Rd (lattice), lmoms.cov.Rd (Lmoments, MASS, nsRFA),
lmom2vec.Rd (lmoms), lmomco-package.Rd (eva, lmoms, lmomRFA, Lmoments),
lmrdiscord.Rd (lmomRFA), mlepar.Rd (MASS), mps2par.Rd (eva, fBasics, gld),
parrice.Rd (VGAM), pdfgam.Rd (flexsurv, gamlss.dist), pdfpe3.Rd (PearsonDS),
pdfgev.Rd (evd), pdfrice.Rd (VGAM), tau34sq.normtest (batch),
TX38lgtrmFlow.Rd (lmomRFA), qua2ci.cov.Rd (MASS), quagam.Rd (gamlss.dist),
quagev.Rd (evd), quagpd.Rd (evd), and quagpd.Rd (lmom).
- Added indexing keywords for external data from packages involved with
the function's Examples: lmoms.cov.Rd (MASS::michelson),
lmrdiscord.Rd (lmomRFA::Cascades), mle2par.Rd (MASS::cats).
- Added srcall.R as a developer helper but named inside .Rbuildignore.
- Added the Singh--Maddala distribution that has explicity formula for the
cdfsmd.R, pdfsmd.R, quasmd.R. The L-moments are in lmomsmd.R and the
parameter estimation by numerical methods is in parsmd.R. The utility
functions are.smd.valid.R and is.smd.R were also added.
- Added Singh--Maddala distribution to dist.list.R/Rd and added it as a four
parameter distribution to prettydist.R/Rd.
- Added the algorithmic sweep of the L-skew and L-kurtosis limits of the
Singh--Maddala distribution using the lmomco/inst/doc/domain_of_smd.R
script and the results embedded into the parsmd.R function.
- Added Singh--Maddala (smd) distribution to par2cdf.R, par2lmom.R, par2pdf.R,
par2qua.R, vec2par.R, and are.par.valid.R.
- Enhanced are.lmom.valid.R to return FALSE if the lmom argument is NULL.
- Enhanced vec2lmom(checklmom=TRUE) to still issue warning but to add the
lambdas and ratios in the warning message. This might help some users
working through large-scale automation exercises.
- Spelling correction in lmomln3.Rd.
Changes in version 2.4.9 (2023-05-29)
- Added lmomcohash.Rd to document the .lmomcohash in an attempt to pass CRAN
package submission checks.
Changes in version 2.4.8 (2023-05-28)
- Returned this NEWS.
- Added additional mathematical definition to the umvu.sd component in pmoms.Rd.
- Edits to Examples in mle2par.Rd (color changing from numbers to names)
- Added ties.method to pp() to extend its default of "first" to other options so
that, in particular, headrick.sheng.lalpha() performance on its covariance
pathway can be studied relative to the direct to L-comoments.
- Expanded Examples in headrick.sheng.lalpha.Rd with expansion of the technical
documentation and extensive critical discussion and numerical comparisons to
the originating literature. Special thanks to Adam Pennell for bringing
questions about headrick.sheng.lalpha() operation to attention.
- Added assignment to the argument matching in distfitqua.R as in the
operation "objfun <- match.arg(objfun)" whereas before objfun was not
being "set."
- Edits to dat2bernqua.Rd and dat2bernquaf.Rd related to minor gramma and
vertical example code alignment with changes of numbered colors to named.
Changes in version 2.4.7 (2022-08-26)
- Removed this NEWS.
Changes in version 2.4.6 (2022-08-26)
- Modified this NEWS to change all dates of versions to YYYY-MM-DD format.
Trying to figure out why a Debian check on the NEWS is reporting
"Cannot process chunk/lines". Communication with CRAN does not indicate
that there is some new requirement. Frustrating.
Changes in version 2.4.5 (2022-08-23)
- Restored this NEWS.
- Confirming that this release works with extremeStat package (or vice versa).
Changes in version 2.4.4 (2022-08-15)
- Changes to pdfpdq3.R to truncate negative densities to zero.
- Changes to cdfpdf3.R to trap f() not of opposite signs on the the uniroot().
This is made for the extremeStat package tests. This also made overhauls
to the "ifail" and "ifailtext" in parpdf3.R/Rd and warning() removed.
- No. 2 caused then for parallelism lmompdq4.R/Rd parpdq4.R/Rd to be changed
in regards to the "ifail" and "ifailtext" and warning() removed.
Changes in version 2.4.3 (2022-08-14)
- Removing man/lmomcoBook.Rd, man/lmomcoNews.Rd, and R/lmomcoNewsBook.R
by .Rbuildignore and NAMESPACE has these commented out.
Changes in version 2.4.2 (2022-08-14)
- Removing this NEWS.
Changes in version 2.4.1 (2022-08-14)
- Automated CRAN submission checks caught invalid math expression in
Lcomoment.matrix.Rd.
- Changed url to doi declaration in References of disfitqua.Rd.
Changes in version 2.3.8 (2022-08-14)
- Added a \donttest{} declaration in quape3() of an example study of the
symmetry of the standard error of sample L-skews for a switch in sign
of the shape (product moment skew) of the Pearson type III.
- Added legendcex to plotlmrdia(). Also forgot to fix the color definitions
in the legend call within plotlmrdia() (see 2.3.7:4 below). Also corrected
inconsistent lty of the AEP4 relative to the diagram and the legend.
- Corrected wrong relation between lambda2 and Sigma in lmomnor.Rd. It appears
for years (all of lmomco history?) that lmomnor.Rd claims that the
relation lambda2 = sqrt(pi) x sigma, but this is wrong, and the correct
relation is lambda2 = sigma / sqrt(pi). This prompted inspection of
lmomnor() and parnor().
- lmomnor() : Orphaned (unused) variables from legacy FORTRAN porting
RRT2 <- 1/sqrt(2) and RRTPI <- 1/sqrt(pi) have been removed and replaced
the ZMOM[2] as a constant to the expression 1/sqrt(pi).
- parnor() : Some minor code cleaning to parnor.R was made to more similar
idioms that the author uses in coding style.
- lmomgno() : Stemming from review of parnor(), removed orphaned variables or
switch to explicit mathematical operations for the otherwise constants.
- Student 3t distribution in pdfst3.Rd needed editing, the t in the integral
needed definition.
- Grammar edit in quawei.Rd.
- Added the polynomail density-quantile3 (PDQ3) distribution.
- Added the polynomial density-quantile4 (PDQ4) distribution.
- Eq. 8.106 of ISBN 978-1463508418 is incorrect. The part written as
[1-\kappa(2F-1)^2] needs to be written as [1-\kappa(2F-1)]^2 for the
polynomial density-quantile3 distribution and correct to Hosking (2007).
- Eq. 8.120 of ISBN 978-1463508418 is incorrect. The ratio of 4/5 in both
subequations needs to be 5/4 during testing of implementation of the
polynomial density-quantile4 distribution and correct to Hosking (2007).
- Added PDQ3 and PDQ4 routing in are.par.valid.R, lmom2par.R, par2cdf.R,
par2lmom.R, par2pdf.R, par2qua.R, vec2par.R.
- Corrected variable and return value and Example in par2pdf.Rd.
- Added PDQ3 {t3, t4} trajectory support to lmrdia.R/Rd and plotlmrdia.R/Rd.
- Grammar and spelling fix to rmlmomco.Rd.
- Updated dist.list.R/Rd and prettydist.R/Rd for the PDQ3 and PDQ4 and
fixed bug in dist.list() that was not reporting 3 parameters for GPA.
- Edits in theoTLmoms.Rd::Note on an contrived application of TL-moments.
- Minor spacing adjustments in tlmr2par.Rd : Examples. Likely need to sweep
the entire Rd suite an closer look at spacings to make the Examples
easier to read.
- BUG FIX: Incorrect support being represented by pdfgpa(). Complete
overhaul made in pdfgpa.R. Added further example to pdfgpa.Rd and
clarified sign convention on the shape parameter. Some simultaneous
cleanup to cdfgpa.Rd and quagpa.Rd. The bug was reported form testing
results reported by Christophe Dutang.
- GEV shape parameter constraint K > -1 in ISBN 978-1463508418 is incorrect.
- BUG FIX: are.pargev.valid(), see No. 21.
- BUG FIX: Some incorrect support being prepresented by pdfgev(). Overhaul
that basically mimics structure of pdfgpa() (see. No. 20). Some
simultaneous cleanup to cdfgpa.Rd and quagpa.Rd. The bug was reported
form testing results reported by Christophe Dutang. The treatment of
near zero Kappa was also ported to cdfgev().
- CRAN check fix on "Undefined control sequence" for some of the math in
lmomgld.Rd.
Changes in version 2.3.7 (2021-08-03)
- Some work on improving warning messages when MASS::mvrnorm() fails because
the variance-covariance matrix is not positive definite. A minor error
trapping in complete failure in computing L-moments of the quasf vector.
Added the tolerance argument so that we can pass it to MASS:mvrnorm().
The author has one school of though that perhaps ... should be doing this.
Also mvtnorm package provides an alterative normal variate simulator.
- Added a Note in qua2ci.cov.Rd with an example sample that causes the failure
of MASS::mvrnorm() and show some ways to mitigate for this.
- BUG FIX: Some minor bug work on qua2ci.cov() during careful study during
no. 1. The dimless argument would not ever work with nmom equal to 1 or 2,
now fixed.
- Color fix: It seems in R4.0.+ that colors 2,3,4 are no longer exactly
red, green, blue, respectively. These have been replaced as
"red", "green", and "blue" in plotlmrdia.R/.Rd.
- Added tlmr2par() for attempt at a general interface for fitting a
distribution to the TL-moments.
- Various minor edits to documentation here and there given quite a long
time since a good look. Perhaps in some future release, the author will
have read the entire manual again, as of August 2021, it has been a
number of years.
- Updates triggered by R CMD check --as-cran for R 4.1 and mostly in the
\doi{} declaration that has shown up sometime past in R releases.
Changes in version 2.3.6 (2020-03-14)
- The CRAN incoming checks throwing <<Variables with usage in documentation
object 'clearforkporosity' but not in code: 'clearforkporosity'>>
This is a hard error to figure out. The Writing R Extensions documentation
is not helpful. Comparison of the clearforkporosity.Rd to that of the
DrillBitLifetime.Rd, which is not having an error, shows that a data()
wrapper for the usage in clearforkporosity.Rd on "clearforkporosity" is
missing relative to DrillBitLifetime.Rd. Also removed the Examples section
for clearforkporosity.Rd.
- Added LazyData: true declaration in DESCRIPTION based on reading of the
Writing R Extensions documentation.
Changes in version 2.3.5 (2020-03-13)
- Removed commas from all keyword{} declarations in the affected Rd files.
It appears that CRAN incoming checks think an author has mistakenly
provided multiple keywords terms within the declaration, which for lmomco
this was not actually happening. The comma use was deliberate, but removed
now at anyrate.
Changes in version 2.3.4 (2020-03-13)
- Added twoside.suppress.labels argument to add.lmomco.axis().
- BUG FIX: some fixes to the label plotting and quantile edges within
add.lmomco.axis() that were found through some large batch processing.
- Spelling correction in cdfnor.Rd.
Changes in version 2.3.3 (2019-02-19)
- Added the type argument to f2f() and f2flo() functions to permit subtle
variation in the treatment of the subsetting of nonexceedance
probabilities.
Changes in version 2.3.2 (2018-09-09)
- Minor Rd updates throughout.
- Added the add and empty arguments to plotlmrdia() for finer control, which
permits the plotting of the diagram boundaries, then inserting say
sample values, and **then** plotting the trajectories desired on top.
This is a feature that really should have been present from the beginning.
Thanks to feedback from Y. Zhou.
- Added arguments snap.tau4 and nudge.tau4 to parkap() to permit the forcing
of the Kappa solution to the L-kurtosis of the upper boundary and example
added to parkap.Rd. This is similar to the AEP4 changes in 2.3.1:(8) below.
- Added the case argument to add.lmomco.axis() to provide option of mixed case
for the default axis labels.
- Enhancement: Extended the limits of probability in add.lmomco.axis() out to
[1-0.99999, 0.99999] but then internally consult par()$usr to identify
ticks and labels outside the plot and then remove before calling the
Axis() function. This was needed as users seem to be probing deeper into
the tails than originally envisioned. The par()$usr use was buggy, see
version 2.3.4:no2.
- Clarified Tau4 bounds in lmomglo.Rd.
- Spelling fixed in ACKNOWLEDGEMENTS.
- Added argument x in add.log.axis() for nice axis limits aligning to integers
(1:9) within a log10-cycle and modified the example in add.log.axis.Rd.
Changes in version 2.3.1 (2018-03-08)
- Enhancement: mle2par() inadvertently was not trapping for conditions of zero
density. (Say a given fit having a lower bounds larger than the smallest
data value.) The Examples section expanded with a demonstration using the
generalized lambda distribution that converges slowly on a dataset in part
because of zero densities manifesting during the optimization.
- Buggish Fix: mle2par.Rd needed a change to the Examples for the generalized
gamma (three parameter and not two) was not working and change was
required in order to work an mimicks that in mps2par.Rd (see Issue 3).
- BUG FIX: mle2par() and mps2par() were not properly distinguishing between a
para.int of either a list (say from lmom2par) or a vector of parameters.
- Added x2pars() that converts data in x into three parameter sets for a
given distribution by L-moments, MLE, and MPS.
- Added pars2x() that converts probability into three quantile estimates from
the ensemble of parameter estimates returned by x2pars().
- Added the vecit argument to lmoms() and TLmoms() to convert the list of the
L-moments, which is venerable in this package, to a vector such as
vec2lmom() can digest. Credit S.C. Worland
- Added log-exp transformation of the parameters AEP4 estimation to ensure that
they remain in the positive domain.
- Added arguments snap.tau4 and nudge.tau4 to paraep4() to permit the forcing
of the AEP4 solution to the L-kurtosis of the lower boundary and example
added to paraep4.Rd.
Changes in version 2.2.9 (2017-11-08)
- Added high L-skew example to pargno.Rd as clarification on Issue 4 in 2.2.8.
Changes in version 2.2.8 (2017-11-01)
- Enhancement: lmomkap() and parkap() overhauled into R idioms. Minor errors in
old lmomkap() fixed and parkap() breaks entirely from Hosking's Newton-
Raphson approach to one based on simultaneous 2-d optimization by optim()
using either a mean absolute deviation of Tau3 and Tau4 or square root of
total squared divergences (Pythagorean distance). The preference appears
to be Pythagorean distance from extensive simulations. The new algorithm
performs very similarly to Hosking's but achieves much greater symmetry
about Tau3=0 in failures. Hosking's tends to fail in the far upper
negative Tau3 and large Tau4 corner of L-moment ratio diagram. Both
methods fail as Tau3 and Tau4 approach the theoretical lower bounds of
Tau3 and Tau4.
- Enhancement: Most of the "par***()" functions now have the parameters
explicitly initialized as NA. This should mitigate some very subtle
user experiences.
- Enhancement: mle2par() and mps2par() incorrectly stated that initial
parameters could be specified as vector. This was incorrect, but now they
can be either an lmomco "object" (see vec2par()) or as a vector in which
the vec2par() function is called internally. Also the sanity checks on
para.int for both mle2par() and mps2par() are written absolutely parallel
with each other.
- Clarification: pargno(), abs(Tau3) > 0.95, now truncates Tau3 to 0.95
instead of failing to return a solution. A warning() is triggered. This
still is not an ideal solution and further research into limits of R
performance relative to Hosking's original FORTRAN is needed.
- Added: par2qua2lo(), which is a generalization of par2qua2 for two quantile
function mixing when one has two data objects from the x2xlo() function.
This has been on the drawing board since version 1.7.3 (January 28, 2013).
*** Experimental and subject to overhaul. ***
- Changes to documentation and code cleaning in par2cdf2.R/Rd, par2qua2.R/Rd,
f2flo.Rd, flo2f.Rd, and x2xlo.Rd.
- Added: xlo=NULL argument to f2flo() and flo2f() as optional means to get
the probability level of the threshold into the logic.
- Added: f2f() to form an idiom for use in conditional probability computations.
- BUG FIX: "lmrq" is now returned as "Linear Mean Residual Quantile Function" in
prettydist(dist.list()). Credit to Berry Boessenkool.
Changes in version 2.2.7 (2017-03-07)
- BUG FIX: are.lmom.valid() from version 2.2.6 had a bug that missing Tau5
would short circuit the Tau3-Tau4 consistency check for which that
check needed to occur before Tau5 and not after. Author discovered this
during algorithmic review of the parkap() function.
Changes in version 2.2.6 (2017-03-06)
- Documentation revision to lmomco-package.Rd showing quick primer to the
package and how to make L-moments, MLE, and MPS estimates for a GEV
sample and compare to the same purpose methods from the eva package.
- Added passing of "..." argument into optim() within mle2par() and mps2par().
Originally, this was not made because of constraints of working with the
3-p Generalized Gamma using the p=3 argument. Now the Examples in the
pargam() function show that an init.para argument to mps2par() and by
extension mle3par() when the initial parameters are already three para-
meters wide then the 3-p version can be triggered without having to get
"p=3" passed into mle2par() or mps2par().
- Presumed Enhancement: Added a trap to convert the Deltas of the U-statistics
for mps2par() when NaN to zero. Some further testing indicates that
during optimization that parameter space could get accessed for some
distributions that cause NaN to be returned from the CDF. The zeros in
turn get hit with log(Delta), which the triggers Inf that is fed back to
the simplex and a portion of inappropriate parameter space gets flagged
during the optimization. This trap is anticipated to enhance the robust-
ness of the MPS algorithm.
- BUG FIX: TLmoms() was trapping for NaN back in NEWS:2.2.2:27. The trap was
incorrectly formed and an untrimmed symmetrical data set could cause
TAU3 = NA when LAMBDA3 == 0 and LAMBDA2 != 0. Berry Boessenkool
provided discovery through an unrelated cascade of errors.
- Enhancement: are.parln3.valid() could receive non-NA parameters incoming
from LN3 estimation for L-skew too large for the underlying pargno()
algorithm providing LN3 support. These non-NA leak through to the
conditionals on the parameter values. Rearrangement of tests made so that
if standard deviation is zero, which is representative of the leak, then
immediate return of FALSE is made. Also added a finiteness check on LAM1
and LAM2. Berry Boessenkool provided discovery of a cascade of errors
when extremely high L-skew was fed to parln3().
- Enhancement: removed extra check on L-moment validity in parln3.R by calling
pargno(..., checklmom=FALSE).
- Enhancement: removed most of the code snippets that look something like:
opts <- options(warn=-1); Y <- log(X); options(opts) # X might be < 0
as a wrapper on operations that could trigger NaNs. Replaced with code
like this: Y <- suppressWarnings(X). Streamlines the overall code base.
About 20 functions involved, so about 40 lines of code removed.
Berry Boessenkool provided this suggestion.
- BUG FIX: Infinite L-moments could leak through are.lmom.valid() as testing
TRUE. For example, the sample L-moments of logarithms of data having a
zero. This should have been fixed years ago for even the author would add
elaborate checking in applications. This feature should have long had its
own implementation. Thanks to Brian Breaker for pushing the issue.
- Added a large simulation example within lmomGEV.Rd showing how successive
definitions of maxima of n-events per year converge to GEV families no
matter what is the parent distribution. Thanks for M.G. Schaefer for
demonstrating the idea at a March 2017 meeting.
Changes in version 2.2.5 (2016-09-09)
- PERFORMANCE FIX: pdfpe3() a certain combination of SIGMA and GAMMA
parameters could leak through and cause later div0, for which a passage
to Normality should be triggered. This caused intensive study of
performance for small variation and near zero skew. Gutted the function
and using dgamma() and parallel logic to cdfpe3().
- BUG FIX: lmompe3() had a misspecified variable accessing the 2nd parameter
for the condition of small or zero skewness. Discovered playing with
mle2par(), which had yielded the pdfpe3() bug mentioned in Item 1.
- BUG FIX: mps2par() had a lingering variable name change problem related
to the "ties" argument but the old argument "ties.method" receiving the
results of match.arg(). The variable ties was still being used in a value
check expecting a scalar (the result of match.arg) but ties was remaining
the vector as set by the function declaration. Trivially small issue.
- Added another example to are.lmom.valid() to show a bail-out attempt at
L-moment computation via probability-weighted moments computed by
plotting-position formula.
- Added the "null.on.not.converge" argument to mle2par() and mps2par().
- Added the 3-parameter Generalized Gamma to *gam() functions using the special
parameterization of the 3-p GG in the gamlss package. Though a gamlss
dependency is not foreseen, cross applications are now possible.
- Text adjustment to pdfpe3.Rd and addition of two examples related to
interaction with the PearsonDS package support for Pearson Type III.
- Added arguments "alt.other.lab" and "npp.as.aep" to add.lmomco.axis() to
support the inversion of axis drawing from nonexceedance probability to
exceedance probability.
- Euler's constant standardization in lmomrevgum(), mps2par(), pargum(),
and parrevgum() to the DiGamma: "print(-digamma(1), digits=15)"
- Added "ptransf" and "pretransf" arguments to mle2par() and mps2par() to
support parameter transformation and retransformation if a user needs to
impose parameter constraints to assist the optimizer.
- Added "no.stop" argument to lmoms().
- Govindarajulu: cdfgov() now returns 0 or 1 if x is outside the support.
- Added the Cramer--von Mises goodness-of-fit in cvm.test.lmomco()
mimicking and using the goftest package.
- Added the "..." argument to all of the par*() functions [e.g. parwei()],
which should have happened a decade ago. A problem was encountered in
progressively more complicated functions wrapping these.
Changes in version 2.2.4 (2016-07-08)
- Added "..." argument to pp(). A higher calling function to pp() could not
implement the arguments to pp through the "..." argument of the that
higher function with arugments intended to yet a another function.
- Added "ties" argument to mps2par(), the motivation for Item 1. above.
- Further refinement of mps2par() during a vacation. Added the "delta",
"log10offset", "get.untied", "check.support", and "moran" arguments,
where the first three additions are to enhance accommodation of ties.
Also extensive expansion of the Note, References, and Examples sections.
Changes in version 2.2.3 (2016-05-31)
- BUG FIX: cdflap() was incorrectly vectorized in R idioms, Berry Boessenkool
provided discovery and the fix.
- BUG FIX: malformed call to supdist() in cdfgld(), Berry Boessenkool
provided discovery and the fix.
- SINISTER R BEHAVIOR(?): Code flow changes in qua2ci.cov() that caused a
certain warning() related to the Weibull distribution call. Could not
trace the source of the problem, but Weibull, which requires a pass
through pargev(), was ending up with Inf for the parameters. However,
the cause simply is not known. The problem in qua2ci.cov() was buried
inside the quaf construction often for the last simulation but the
simulated L-moments convert properly to Weibull if intercepted. WHA
thinks the issue was an ifelse() construction at the end of the
sapply() for quaf. This code was pretty well vetted. WHA wonders if a
change in R version caused the problem, or WHA has misunderstood a
subtlety related to the ifelse() construction.
- Added mps2par() for the maximum product spacing method for parameter
estimation. The method is a straightforward parameter optimization
method, is not widely available, and simple to implement in this package.
Changes in version 2.2.2 (2016-03-20)
- Added example to parglo.Rd concerning relation to log-logistic distribution
following an inquiring from user Laura Read.
- Inserted exp(log()) nests in tau34sq.normtest() to protect against integer
overflow as WHA encountered a problem having a sample size in a real-world
problem too large for computation of the useHoskingZt4=TRUE circumstance.
- Added example to lmomtri.Rd showing a positive L-skew, right-triangle distri-
bution being compared to the Generalized Pareto with same L-moments.
- Added "nmom" argument to lmomtri() to avoid calls to expect.max.ostat() if
desired. Changes to lmomtri() and partri() to avoid spraying of error
messages from partri()-->lmomtri()-->expect.max.ostat()-->integrate() if
outside the acceptable parameter range. Also, return vector of NA from
partri() if abs(Tau3) is too big. All of this for the distribution is
very subtle but issues were identified by Berry Boessenkool. Thanks.
- BUG FIX: Fixed unity erroneously being returned by pdfgpa(), which was
discovered from experiments with Asymmetric Triangular distribution near
a positive-skew right triangle density function while thinking about
other design thoughts on pdfs raised by Berry Boessenkook. The unity
check then yielded next Item.
- BUG FIX: Fixed unity erroneously returned by pdfgev(), pdfglo(), and pdfgno()
as part of trap for log(0). These were discovered by intuition from
grep'ing pdf*.R sources for the operation: f[i] <- 1. And this Item in
turn yielded Item 7. Source of this was bad cut-paste from CDF algorithms
that were written before pdf support was written---dating from circa 2006.
- Enhanced the entire pdf ensemble using R idioms from original FORTRAN port
in functions---mainly this meant replacing a for() loop with sapply().
This should greatly accelerate computation times. The enhancement also
uses syntax like this: f[! is.finite(f)] <- NA and (or) additional NA
setting for x values outside the domain of the distribution. Thus the
reference to this version being the "Density-NA" release. HOWEVER, AFTER
ALMOST A YEAR OF INTROSPECTION AND USER OPINION, DENSITIES THAT SHOULD
BE NA (say log(negative number) encountered) ARE SET TO ZERO. In other
words, the density outside the support of a distribution is set to zero.
- L-moments dependent on the numerical integration of the PDF might require
that PDF values being NA be treated as zero. This trap is in Item 7 but
does cascade logically into check.pdf(), dlmomco(), expect.max.ostat(),
expect.min.ostat(), and hlmomco().
- Changed argument "paragld" to "para" in pdfgld(), cdfgld(), and quagld(),
and cdfgld() had an example using supdist() added.
- Added "delexp" argument to supdist().
- Changed "gldpara" syntax to "para" in GLD distribution functions to mimic
style in the functions for other distributions.
- Updated the Examples section of check.pdf.Rd.
- Further testing of the Kappa-Mu distribution--still somewhat experimental.
- Further testing of the Eta-Mu distribution---still somewhat experimental.
- Changed to R idioms (removed for() loops) in z.par2cdf.R and z.par2qua.R.
- Added "paracheck" to are.par.valid() for easy of globally switching off
parameter checking and then next Item.
- Added "paracheck" to supdist() so that this function may be called when it
is already know that the parameters are valid and added to the returned
list the nonexceedance probabilities of the lower and upper supports.
- Moved a variable into a sum() to that presumably of R will use less memory.
- R idiom vectorization as may be to all cdfCCC.R lacking it---mainly the
replacement of for() loops with either sapply() and in some cases not even
sapply() and pure R vectorization is used.
- R idiom vectorization as may be to all pdfCCC.R lacking it---mainly the
replacement of for() loops with either sapply() and in some cases not even
sapply() and pure R vectorization is used.
- R idiom vectorization as may be to all quaCCC.R lacking it---mainly the
replacement of for() loops with either sapply() and in some cases not even
sapply() and pure R vectorization is used.
- R idiom vectorization in rmlmomco(), rrmlmomco(), rmvarlmomco(), and
rrmvarlmomco()---replacement of for() loops with sapply().
- Documentation: (1) Corrected a spelling error that called nonexistant
function in Examples in rmvarlmomco.Rd; (2) Example expansion quarice.Rd;
and (3) Removed "the probability density for" in quatexp.Rd.
- Added "sig6" to nonexceeds() for +/-6 sigma vector of probability.
- Documentation: Changed language in z.par2cdf.Rd and z.par2qua.Rd along with
syntax changes in z.par2cdf() and z.par2qua() into R idioms for enormous
speed increases.
- Documentation: smoothed language in Examples of dist.list.Rd.
- Change to TLmoms() and added example to TLmoms.Rd for trapping of NaN
coming back from TLmom() and converting to NAs.
- Title change for "new" CRAN policy by tools::toTitleCase(). WHA does not
like "L-Moment" versus "L-moment" but whatever.
- Added disfitqua() for fitting a distribution by a multi-dimensional
optimization to available quantiles. The first hint of this need was
circa 2005-2007 from a K. Khorzad whom was needing an LPIII fit (for
reasons now forgotten) to quantiles from Asquith and Slade (1997). The
reason for implementation now is that WHA has a situation needing LPIII
fit to quantiles from Asquith and Roussel (2009).
- Added add.log.axis() for enhanced (nice looking) base-10 logarithmic axes.
- Added the "alt.lab" argument to add.lmomco.axis().
- Added the "quafunc" argument to theoTLmoms() for arbirary quantile function.
- Added lmoms.cov() for distribution-free, variance-covariance computation
of the sample L-moments (and probability-weighted moments).
- Added L-skew and L-kurtosis trajectory for the reversed Govindarajulu,
reversed Generalized Pareto, and Weibull distributions to lmrdia().
- NAME CHANGE: qua2ci() changed to qua2ci.simple() to make NAMESPACE available
to qua2ci.cov(). Also genci() changed to genci.simple() because of its
close connection. A deprecated name warning is now issued with qua2ci()
and genci() and these will be removed at some later date.
- BUG FIX: Tony Labson was testing with deep close to k=0 in quagev() and
required a trapping of effectively close enough to k=0 to not cause
oscillation in numerical routines. Because of core relationships, similar
modifications made to quaglo() and quagp(). For the GNO, quagno() had a
commented out trap like that needed by Tony for the GEV but was using the
finiteness of 1/k. Tony's example for GEV would not work for GNO, so
quagno() changed too.
Changes in version 2.1.4 (2015-04-20)
- Trival changes to CITATION for CRAN compliance.
Changes in version 2.1.3 (2015-02-01)
- Removed broken URL within man/IRSrefunds.by.state.Rd
- Removed non-ASCII quotation marks from a comment in cdfaep4.R and pmoms.R.
Changes in version 2.1.2 (2015-01-31)
- Fixed a typo in the DESCRIPTION, indexing typo in pdfgep.Rd, and a typo in
a default axis label within add.lmomco.axis.R.
- Fixed parlab.Rd that incorrectly identified the Generalized Logistic
distribution and not the Laplace distribution in first sentence as
reported by Berry Boessenkool.
- Added supdist() as a single interface to determine a distribution's support.
Hints of the author's original ideals maybe found in the list returned
by parkap() but never fully matured as a design idea. An inquiry about
probability density functions in lmomco by Berry Boessenkool spawned the
development of supdist().
- BUG FIX: are.parkur.valid() was not checking the beta parameter as reported
by Amaranthe R. Biessen.
- The are.parkur.valid() bug and subsequent audit added some additional error
trapping in the are.parCCC.valid() suite of functions. Primarily, if any
of the parameters are NA then invalidity is returned. The truncated-
exponential (texp) distribution is a special case in which only NA in the
3rd index can be used for such testing.
- The subsequent audit of are.parCCC.valid.R resulted in better description on
a parameter-by-parameter basis if that value of the parameter is not
consistent with the requirements of the distribution.
- Added dat2bernquaf() to invert dat2bernqua() for a scalar value.
A. Pascal Martinus needed a tool to estimate the nonexceedance probability
of a single value not otherwise in a sample using the Bernstein smoothing
on the empirical quantile function. Minor changes to dat2bernqua.Rd made.
- Added the sample Headrick and Sheng L-alpha by headrick.sheng.lalpha() or
the alias lalpha() based on Headrick and Sheng (2013).
- Converted choose()'s in Lcomoment.Wk to exp(lchoose()'s).
- Converted a for() loop to sapply() in Lcomoment.Lk12().
- Minor changes in documentation throughout following full re-reading.
- Minor changes to DESCRIPTION following CRAN email dated 12/03/2014.
- Spelling correction pass through the NEWS file.
- Minor changes to CITATION following CRAN email dated 01/09/2014.
- Added the Asymmetrical Triangular distribution for which it seems(?) that
the L-moments have not been previously described.
- Added the "showterms" argument to theoLmoms.max.ostat() so the multipliers
on the expectations of the order statistic maxima and minima can be
rapidly seen for pedagogic reasons.
- Added internal numerical support estimation for pdfwak() following inquiry
by Berry Boessenkool (see Item 3).
- Added systemic vector pre-allocation throughout the package following
inquiry by Berry Boessenkool. This is particularly important for the
cdfCCC(), pdfCCC(), and quaCCC() functions for speed in large simulations.
Many functions dated from a time when WHA knew less about optimizing R.
WHA should have done the pre-allocation from the beginning.
Changes in version 2.1.1 (2014-05-31)
- Enormous effort in indexing consistency and new keywords for most of the Rd
files (see no. 4). George R. Herrmann provided a correction to
lmom.ub.Rd.
- Added another reference to the Govindarajulu distribution documentation:
Nair et al. (2012).
- Enhanced expect.max.ostat() and theoLmom.max.ostat() to use a quantile func.
- COMPREHENSIVE AUDIT of Rd files and adjustments in many fewer R files as
needed for sweeping consistency changes in a rigorous effort to make
documentation in concordance with Asquith (2011), approximately 200 hours
of effort from hand edits on the then 428p+ hardcopy of the manual. One
effect is that the named format for an L-moment object is finally
deprecated in favor of the list format (lmoms()).
- BUG FIX: parln3() had an incorrect subtraction when attempting to fit with
a known lower bounds. WHA has never used this feature and no users have
commented on it---the audit bore fruit. Documentation of LN3 completed.
- Added to lmrdia() and plotlmrdia() the Slash dist. and other adjustments.
- Added the Linear Mean Residual Quantile distribution: "lmrq". This is a
special distribution that exhibits a mean residual quantile function
in the the form of Y = mX + b.
- Added reslife.lmoms() and rreslife.lmoms(), which respectively are the
L-moments of residual life and reversed residual life for a quantile func.
- Added cmlmomco(), rmlmomco(), rrmlmomco(), rmvarlmomco(), rrmvarlmomco(),
ralmomco(), rralmomco(), tttlmomco(), stttlmomco(), brflmomco(),
lrzlmomco(), lkhlmomco(), and riglmomco(), which are a suite of quantile
function operators on a distribution using the quantile functions outlined
by Nair et al. (2013). These functions are all tabulated, referenced, and
other details given in rmlmomco.Rd. These functions and the functions
<r>reslife.lmoms() are substantial extensions of the package in the field
of reliability analysis.
- Added the Generalized Exponential Poisson distribution (gep). The L-moments
but more importantly, the parameter computations are difficult using
derivations in the literature. Consider this dist. as semi-experimental.
- Added the Barnes Extended Hypergeometric function with exploration of
the numerical limits in the context of GEP implementation.
- BUG FIX: quakap(), for f=1 and "next" command was missing in an if().
- Removed lmomsf01() never could quite get the intended features to work,
and it seems no longer appropriate to leave this experiment in place. It
is archived in inst/legacy.
- Reduced the DESCRIPTION by 24 percent yet added more details.
- Added add.lmomco.axis() to enhance plots with a normal probability axis.
- Added slmomco() to provide a survival function now that reliability/lifetime
features are present.
- Added to pwm.ub.Rd additional proof of sample PWM computation reliability
after an inquiry by J.M. Miller found inconsistencies in other literature.
I.E. DOI = 10.1002/joc.3887 (Beguer\'{i}a1 et. al, ... SPEI ..., eq. 3)
and an error on the SPEI website (May 2014). Well done J.M. Miller!
- Added plotradarlmr() to make radar plots of L-moment ratios. Occasionally
in past 5 years some users have asked for a way to "see" higher into
L-moment dimension that provided by plotlmrdia(). However, new request for
a radar plot in of itself has been made.
- Added Gumbel reduced variates (prob2grv(), grv2prob()) and logistic reduced
variates (prob2lrv(), lrv2prob()).
- Added sentiv.curve() for construction of sensitivity curves.
Changes in version 2.0.1 (2014-03-14)
- BUG FIX: quakap() hit an incorrect stop() because of the absence of
a "next" associated with the conditional: H <= 0 & G >= 0 when
nonexceedance probability was F=0.
- Added the "force.exact" (default TRUE) and "nsim" arguments to
lmoms.bootbarvar(). It seems that numerical problems are firmly
occurring in matrices at about a sample size of 50. So a hardwired
threshold hold between the exact analytical and simulation-only
estimates of the variances is set at 40. This can be superseded by
force.exact---when simulation is used only the observed L-moments and
the variances via simulation are reported. The much lengthier output
results when the exact method is used are set to NA.
- According to Daniel Wollschlaeger, the Marcum Q function can be computed
by marcumQ <- function(a, b, nu=1) { pchisq(b^2, df=2*nu, ncp=a^2,
lower.tail=FALSE) } where
the nu=1 makes it the MarcumQ1 function associated with the Rice
and the Kappa-Mu distributions. Use of this function would simplify
some code and might have numerical advantages---or might not, testing
is needed.
- BUX FIX (mostly enhancement): x2xlo() needed some conditioning to handle the
logical situation of a lower threshold for which there are not data below
that threshold and also the opposite condition of no data above the
threshold. Added an echoing of the threshold to the returned listed as in
application, this is useful.
- Added the Student t (3-parameter) distribution ("st3") by request from
Amaranthe R. Biessen. This distribution made an appearance in my book but
had not actually been implemented. Amaranthe is credited for providing the
polynomial approximation of Tau4 as a function of Nu and Tau6 as a func.
of Tau4. A suggested research topic would be the comparison of the
ST3 to the AEP4 as these both handle symmetry and Tau4 > Kappa dist.
- Extended documentation and utility functions to support the st3 distribution.
These are: are.par.valid.R, check.pdf.R, dist.list.R, par2cdf.R,
par2lmom.R, par2pdf.R, par2qua.R, prettydist.R, vec2par.R,
are.par.valid.Rd, dist.list.Rd, par2lmom.Rd, vec2par.Rd.
- Slight adjustments to lmoms.bootbarvar.Rd to eliminate margin protrusion.
- Added the ghosting variable to x2xlo(). The feature became evident when WHA
was experimenting with trying to track a third variable, such as the year
of data collection, as the sample is split between those "in" and those
"out." This is for convenience only but enormously useful to have.
- Minor revision to parcau.Rd.
- Added the Slash distribution, which uses trim=1 TL-moments.
- Added the Govindarajulu distribution and included a polynomial to approxi-
mate the relation between tau4 and tau3 (see examples in lmomgov.Rd).
- Added the Govindarajulu to plotlmrdia() and lmrdia() and updated references
in both of those functions.
- Documentation tweak in lmomgld.Rd.
- Updated references in all of the AEP4 Rd files.
- Cleaned up spurious (inapplicable) \details{} in parcau.Rd.
- Removed the use of factorial() in theoTLmoms() and replaced with a combin-
ation of exp(lgamma()) with the proper +1 to the argument.
- Cleaned up Rd cross links for GLO distribution---a TODO is to do similar
and audit the cross links for all of the distributions in the very early
release(s). Some consistency is missing.
Changes in version 1.8.1 (2014-01-27)
- Added extensions to dat2bernqua() to use alternative support of the
distribution based on the extreme order statistics and two references
added. Numerical exploration of this new feature is needed. Expanded
the function to handle the Kantorovich and Bernstein polynomial methods.
Extended the documentation.
- Added lmoms.bernstein() and started a paper involving it.
- Added a cross link to lmoms.berstein in lmoms.Rd.
- Added pfactor.bernstein() for a smoothed but not regressed estimate of the
optimal p-factor with various controls by the function arguments. This
is a complementary function to the Berstein-like smoothing. An example
shows how to potentially use pfactor.bernstein() using uniroot() for
direct estimation of the p-factor by optimization.
- **Major** topical indexing initiated by request of Amaranthe R. Biessen.
All Rd files modified slightly, sorry, but the results are nice.
- Slight shortening of DESCRIPTION.
- Fixed a misspelling of a list attribution in lmoms.bootbarvar.Rd.
Changes in version 1.7.9 (2013-12-03)
- BUG FIX: Problems with L-skew <= 0 for parln3(). The 3-parameter log-
normal distribution is not valid. A warning is now triggered and
suggestion to reverse the data, Y <- -X, so as to get L-skew > 0. Then
re-reversing would be needed: e.g., -qualn3(1-nonexceeds(), LN3) for
parameters parln3(lmoms(Y)) instead of parln3(lmoms(X)) [failure].
Special thanks to Daniel Eilertz for discovering the problem.
- New Data Added: The TX38lgtrmFlow.RData was added to the package. These
L-moments and estimated variances of annual mean streamflow for
35 long-term streamgages in Texas discussion in a cited USGS SIR.
- Added pp.f() and pp.median(), which support median rankit estimation of
the probability distribution of an order statistic. These are included
to round out plotting position operations, although the median is
arguably already available using the pp(..., a=0.3175).
- BUG FIX: Another return() was needed for paraep4() in order to properly
fall back to pure Kappa distribution if below the lower bounds of the
AEP4. Thanks to Amaranthe R. Biessen for the discovery. In turn, this
prompted me to make changes in 5 and 6 described below.
- Updated the citation to my CSDA paper on AEP4 in all the *aep4*.Rd files.
- Added quaaep4kapmix(): A continuous mixture between the AEP4 and the Kappa
distributions. The AEP4 is exclusive if Tau4 above GLO line (upper
bounds of the Kappa), and the Kappa is exclusive if Tau4 below the
lower bounds of the AEP4. A prorated mixture based on Tau4 in the over-
lapping parameter space of the two distributions is used. This idea was
in the cover letter on my CSDA paper submission but was outside the scope
of it (Asquith, W.H., 2014, Parameter Estimation for the 4-Parameter
Asymmetric Exponential Power Distribution by the Method of L-moments
using R, Computational Statistics and Data Analysis, v. 41, pp. 955--970,
http://dx.doi.org/10.1016/j.csda.2012.12.013).
Changes in version 1.7.8 (2013-07-05)
- BUG FIX: Problems with kappa == 0 condition for quagpa() and pdfgpa()
resolved. Special thanks to Jona Lilienthal for discovering the bug
in pdfgpa().
Changes in version 1.7.7 (2013-05-13)
- Added dat2bernqua(): The empirical quantiles through Bernstein polynomial.
- Stripped tildes for nonbreaking spaces in LaTeX, which are not used in
the Rd format: IRSrefunds.by.state.Rd Lcomoment.Lk12.Rd
Lcomoment.Wk.Rd Lcomoment.coefficients.Rd Lcomoment.correlation.Rd
Lcomoment.matrix.Rd cdf2lmom.Rd gini.mean.diff.Rd lcomoms2.Rd
sen.mean.Rd.
Changes in version 1.7.6 (2013-05-13)
- Spelling corrections to DESCRIPTION that were not passing CRAN checks.
Changes in version 1.7.5 (2013-05-10)
- BUG FIX: Revision to unbiased correction on product moment kurtosis.
An incorrect formula exists in a source originally used to build
the function. This has been corrected and numerous comments
in the source code point to several sources and shows consistent
results now. Much thanks to Sergio Gomez for discovering the
bug and assisting in reference track down. Also, added the
"excess" kurtosis outputs as apparently Sergio Gomez and other
practitioners in his discipline have interest in kurtosis as it
differs from the Normal distribution. The two references in the
pmoms.Rd are correct and match each other computationally.
- Further reductions in R CMD check --timings in the following Rd files:
cdfgld.Rd is.gld.Rd lmomTLgld.Rd lmomsf01.Rd quagam.Rd quagld.Rd
tlmrcau.Rd tlmrexp.Rd tlmrgev.Rd tlmrglo.Rd tlmrgno.Rd tlmrgpa.Rd
tlmrgum.Rd tlmrnor.Rd tlmrpe3.Rd tlmrray.Rd theoLmoms.max.ostat.Rd
dist.list.Rd.
- Clarified some messaging associated with an error trap for Tau4 plot-
ting above AEP4-max(Tau4) and Kappa distribution NOT fit instead.
- Documentation tweaks to keep right margin incursion of the PDF manual.
gen.freq.curves.Rd pdfwei.Rd pwmLC.Rd pwmRC.Rd vec2lmom.Rd z.par2qua
- Prof. Ripley remarked that the DESCRIPTION of copBasic was too long.
So following that critique, DESCRIPTION of lmomco has been contracted.
Changes in version 1.7.5 (2013-03-30)
- Revisions to truncated exponential distribution both to methods of
computation as well as documentation. Actually, a major rebuilding
was needed as the limiting conditions of L-CV = 1/3 and L-CV = 1/2
were not properly achieved.
- BUG FIX: vec2lmom() operated incorrectly when trying to build L-moment
objects having only one or two moments, which should have been
caught years ago: e.g. vec2lmom(c(1)) or vec2lmom(c(1,3)).
- lmoms.bootbarvar() now has an argument to early-exit if inversion
of the variance-covariance matrices is not desired.
- Added lmomcoNews() and lmomcoBook() to view the NEWS file and the
ERRATA for my book ISBN 978-1463508418.
- Moved the ChangeLog to NEWS to support the function in number 4.
Changes in version 1.7.4 (2013-02-15)
- Added .Rbuildignore in the top-level directory so that the directory
containing legacy .R and .Rd files for deprecated functions is
ignored. Prof. Brian Ripley sent a request to do this so that the
legacy *.Rd file are not "seen" by the R building process. So WHA
responded accordingly.
Changes in version 1.7.3 (2013-01-28)
- BUG FIX: Improper use of print() instead of warning() in check.fs.R.
- Added f2flo(), flo2f(), and x2xlo() to support conditional
probability conversions when a fraction of the left end of the
distribution is removed as in the treatment of zero values when
analyzing the distribution of the logarithms of a random variable.
- Added f2fpds() and fpds2f() to support partial duration series
analysis.
- Added the Tau34-squared test for Normality by Harri and Coble (2011).
Email communication during the last week of January 2013
with Dr. Adrian Harri reinforces the preference of
Harri and Coble (2013) recommended that the "T34-squared" test be
preferred for general application. WHA agrees. The general example
code for tau34sq.normtest() is capable of reproducing, within
expected rounding tolerances, Harri and Coble (2011, table 1).
As a result, it appears as though general validation of
tau34sq.normtest() has been made. Let us name the test the
"Harri-Coble Tau34-squared Test for Normality."
Changes in version 1.7.2 (2012-11-16)
- Documentations to speed-up overall examples for the CRAN:
are.pargld.valid.Rd, cdfgld.Rd, man/lmomgld.Rd, man/pargld.Rd,
man/pdfgld.Rd, man/pdfkmu.Rd, man/pdfwak.Rd, and man/quagld.Rd.
And DESCRIPTION reworked modestly.
Changes in version 1.7.1 (2012-10-30)
- Added lmoms.bootbarvar() for computation of the exact bootstrap mean
and variances of L-moments (uncensored or trimmed).
- Added the "Kappa-Mu" distribution with the abbreviation "kmu".
- Added the "Eta-Mu" distribution with the abbreviation "emu".