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
|
<!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Changelog • mkin</title>
<!-- jquery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<!-- Bootstrap -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script>
<!-- bootstrap-toc -->
<link rel="stylesheet" href="../bootstrap-toc.css">
<script src="../bootstrap-toc.js"></script>
<!-- Font Awesome icons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous" />
<!-- clipboard.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script>
<!-- headroom.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script>
<!-- pkgdown -->
<link href="../pkgdown.css" rel="stylesheet">
<script src="../pkgdown.js"></script>
<meta property="og:title" content="Changelog" />
<meta name="robots" content="noindex">
<!-- mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body data-spy="scroll" data-target="#toc">
<div class="container template-news">
<header>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">mkin</a>
<span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">0.9.50.4</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>
<a href="../reference/index.html">Functions and data</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
Articles
<span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="../articles/mkin.html">Introduction to mkin</a>
</li>
<li>
<a href="../articles/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a>
</li>
<li>
<a href="../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a>
</li>
<li>
<a href="../articles/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a>
</li>
<li>
<a href="../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a>
</li>
<li>
<a href="../articles/twa.html">Calculation of time weighted average concentrations with mkin</a>
</li>
<li>
<a href="../articles/web_only/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a>
</li>
<li>
<a href="../articles/web_only/benchmarks.html">Some benchmark timings</a>
</li>
</ul>
</li>
<li>
<a href="../news/index.html">News</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="https://github.com/jranke/mkin/">
<span class="fab fa fab fa-github fa-lg"></span>
</a>
</li>
</ul>
</div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header>
<div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1 data-toc-skip>Changelog <small></small></h1>
<small>Source: <a href='https://github.com/jranke/mkin/blob/master/NEWS.md'><code>NEWS.md</code></a></small>
</div>
<div id="mkin-0-9-50-4-unreleased" class="section level1">
<h1 class="page-header" data-toc-text="0.9.50.4">
<a href="#mkin-0-9-50-4-unreleased" class="anchor"></a>mkin 0.9.50.4 (unreleased)<small> Unreleased </small>
</h1>
<ul>
<li><p>‘f_norm_temp_focus’ generic function to normalise time intervals using the FOCUS method, with methods for numeric vectors and ‘mkindsg’ objects</p></li>
<li><p>‘mkindsg’ R6 class for groups of ‘mkinds’ datasets with metadata</p></li>
<li><p>‘D24_2014’ dataset</p></li>
<li><p>‘focus_soil_moisture’ FOCUS default soil moisture data</p></li>
<li><p>‘plot.mixed.mmkin’ method used for ‘nlme.mmkin’ and ‘saem.mmkin’, both inheriting from ‘mixed.mmkin’ (currently virtual)</p></li>
<li><p>‘saem’ generic function to fit saemix models, with a generator ‘saem.mmkin’, summary and plot methods</p></li>
<li><p>‘transform_odeparms’, ‘backtransform_odeparms’: Use logit transformation for solitary fractions like the g parameter of the DFOP model, or formation fractions for a pathway to only one target variable</p></li>
<li><p>‘update’ method for ‘mmkin’ objects</p></li>
<li><p>‘plot’, ‘summary’ and ‘print’ methods for ‘nlme.mmkin’ objects</p></li>
<li><p>‘saemix_model’, ‘saemix_data’: Helper functions to fit nonlinear mixed-effects models for mmkin row objects using the saemix package</p></li>
</ul>
</div>
<div id="mkin-0-9-50-3-2020-10-08" class="section level1">
<h1 class="page-header" data-toc-text="0.9.50.3">
<a href="#mkin-0-9-50-3-2020-10-08" class="anchor"></a>mkin 0.9.50.3 (2020-10-08)<small> 2020-10-08 </small>
</h1>
<ul>
<li><p>‘parms’: Add a method for mmkin objects</p></li>
<li><p>‘mmkin’ and ‘confint(method = ’profile’): Use all cores detected by parallel::detectCores() per default</p></li>
<li><p>‘confint(method = ’profile’): Choose accuracy based on ‘rel_tol’ argument, relative to the bounds obtained by the quadratic approximation</p></li>
<li><p>‘mkinfit’: Make ‘use_of_ff’ = “max” also the default for models specified using short names like “SFO” or “FOMC”</p></li>
<li><p>‘mkinfit’: Run ‘stats::shapiro.test()’ on standardized residuals and warn if p < 0.05</p></li>
<li><p>‘mkinfit’: ‘error_model_algorithm’ = ‘d_3’ does not fail if direct fitting fails, but reports that the results for the threestep algorithm are returned</p></li>
<li><p>‘mmkin’: Do not fail any more if one of the fits fails, but assign the try-error to the respective position in the mmkin object</p></li>
<li><p>‘mkinfit’: Ignore components of state.ini that do not correspond to state variables in the model</p></li>
<li><p>‘endpoints’: Back-calculate DT50 value from DT90 also for the biphasic models DFOP, HS and SFORB</p></li>
</ul>
</div>
<div id="mkin-0-9-50-2-2020-05-12" class="section level1">
<h1 class="page-header" data-toc-text="0.9.50.2">
<a href="#mkin-0-9-50-2-2020-05-12" class="anchor"></a>mkin 0.9.50.2 (2020-05-12)<small> 2020-05-12 </small>
</h1>
<ul>
<li><p>Increase tolerance for a platform specific test results on the Solaris test machine on CRAN</p></li>
<li><p>Updates and corrections (using the spelling package) to the documentation</p></li>
</ul>
</div>
<div id="mkin-0-9-50-1-2020-05-11" class="section level1">
<h1 class="page-header" data-toc-text="0.9.50.1">
<a href="#mkin-0-9-50-1-2020-05-11" class="anchor"></a>mkin 0.9.50.1 (2020-05-11)<small> 2020-05-11 </small>
</h1>
<ul>
<li><p>Support SFORB with formation fractions</p></li>
<li><p>‘mkinmod’: Make ‘use_of_ff’ = “max” the default</p></li>
<li><p>Improve performance by a) avoiding expensive calls in the cost function like merge() and data.frame(), and b) by implementing analytical solutions for SFO-SFO and DFOP-SFO</p></li>
</ul>
</div>
<div id="mkin-0-9-49-11-2020-04-20" class="section level1">
<h1 class="page-header" data-toc-text="0.9.49.11">
<a href="#mkin-0-9-49-11-2020-04-20" class="anchor"></a>mkin 0.9.49.11 (2020-04-20)<small> 2020-04-20 </small>
</h1>
<ul>
<li>Increase a test tolerance to make it pass on all CRAN check machines</li>
</ul>
</div>
<div id="mkin-0-9-49-10-2020-04-18" class="section level1">
<h1 class="page-header" data-toc-text="0.9.49.10">
<a href="#mkin-0-9-49-10-2020-04-18" class="anchor"></a>mkin 0.9.49.10 (2020-04-18)<small> 2020-04-18 </small>
</h1>
<ul>
<li><p>‘nlme.mmkin’: An nlme method for mmkin row objects and an associated S3 class with print, plot, anova and endpoint methods</p></li>
<li><p>‘mean_degparms, nlme_data, nlme_function’: Three new functions to facilitate building nlme models from mmkin row objects</p></li>
<li><p>‘endpoints’: Don’t return the SFORB list component if it’s empty. This reduces distraction and complies with the documentation</p></li>
<li><p>Article in compiled models: Add some platform specific code and suppress warnings about zero values being removed from the FOCUS D dataset</p></li>
<li><p>‘plot.mmkin’: Add the argument ‘standardized’ to avoid warnings that occurred when it was passed as part of the additional arguments captured by the dots (…)</p></li>
<li><p>‘summary.mkinfit’: Add AIC, BIC and log likelihood to the summary</p></li>
</ul>
</div>
<div id="mkin-0-9-49-9-2020-03-31" class="section level1">
<h1 class="page-header" data-toc-text="0.9.49.9">
<a href="#mkin-0-9-49-9-2020-03-31" class="anchor"></a>mkin 0.9.49.9 (2020-03-31)<small> 2020-03-31 </small>
</h1>
<ul>
<li><p>‘mkinmod’: Use pkgbuild::has_compiler instead of Sys.which(‘gcc’), as the latter will often fail even if Rtools are installed</p></li>
<li><p>‘mkinds’: Use roxygen for documenting fields and methods of this R6 class</p></li>
</ul>
</div>
<div id="mkin-0-9-49-8-2020-01-09" class="section level1">
<h1 class="page-header" data-toc-text="0.9.49.8">
<a href="#mkin-0-9-49-8-2020-01-09" class="anchor"></a>mkin 0.9.49.8 (2020-01-09)<small> 2020-01-09 </small>
</h1>
<ul>
<li><p>‘aw’: Generic function for calculating Akaike weights, methods for mkinfit objects and mmkin columns</p></li>
<li><p>‘loftest’: Add a lack-of-fit test</p></li>
<li><p>‘plot_res’, ‘plot_sep’ and ‘mkinerrplot’: Add the possibility to show standardized residuals and make it the default for fits with error models other than ‘const’</p></li>
<li><p>‘lrtest.mkinfit’: Improve naming of the compared fits in the case of fixed parameters</p></li>
<li><p>‘confint.mkinfit’: Make the quadratic approximation the default, as the likelihood profiling takes a lot of time, especially if the fit has more than three parameters</p></li>
</ul>
</div>
<div id="mkin-0-9-49-7-2019-11-01" class="section level1">
<h1 class="page-header" data-toc-text="0.9.49.7">
<a href="#mkin-0-9-49-7-2019-11-01" class="anchor"></a>mkin 0.9.49.7 (2019-11-01)<small> 2019-11-02 </small>
</h1>
<ul>
<li><p>Fix a bug introduced in 0.9.49.6 that occurred if the direct optimisation yielded a higher likelihood than the three-step optimisation in the d_3 algorithm, which caused the fitted parameters of the three-step optimisation to be returned instead of the parameters of the direct optimisation</p></li>
<li><p>Add a ‘nobs’ method for mkinfit objects, enabling the default ‘BIC’ method from the stats package. Also, add a ‘BIC’ method for mmkin column objects.</p></li>
</ul>
</div>
<div id="mkin-0-9-49-6-2019-10-31" class="section level1">
<h1 class="page-header" data-toc-text="0.9.49.6">
<a href="#mkin-0-9-49-6-2019-10-31" class="anchor"></a>mkin 0.9.49.6 (2019-10-31)<small> 2019-10-31 </small>
</h1>
<ul>
<li><p>Implement a likelihood ratio test as a method for ‘lrtest’ from the lmtest package</p></li>
<li><p>Add an ‘update’ method for mkinfit objects which remembers fitted parameters if appropriate</p></li>
<li><p>Add a ‘residuals’ method for mkinfit objects that supports scaling based on the error model</p></li>
<li><p>Fix a bug in ‘mkinfit’ that prevented summaries of objects fitted with fixed parameters to be generated</p></li>
<li><p>Add ‘parms’ and ‘confint’ methods for mkinfit objects. Confidence intervals based on the quadratic approximation as in the summary, and based on the profile likelihood</p></li>
<li><p>Move long-running tests to tests/testthat/slow with a separate test log. They currently take around 7 minutes on my system</p></li>
<li><p>‘mkinfit’: Clean the code and return functions to calculate the log-likelihood and the sum of squared residuals</p></li>
<li><p>Vignette ‘twa.html’: Add the maximum time weighted average formulas for the hockey stick model</p></li>
<li><p>Support frameless plots (‘frame = FALSE’)</p></li>
<li><p>Support to suppress the chi2 error level (‘show_errmin = FALSE’) in ‘plot.mmkin’</p></li>
<li><p>Update README and the introductory vignette</p></li>
<li><p>Report ‘OLS’ as error_model_algorithm in the summary in the case that the default error_model (‘const’) is used</p></li>
<li><p>Support summarizing ‘mkinfit’ objects generated with versions < 0.9.49.5</p></li>
</ul>
</div>
<div id="mkin-0-9-49-5-2019-07-04" class="section level1">
<h1 class="page-header" data-toc-text="0.9.49.5">
<a href="#mkin-0-9-49-5-2019-07-04" class="anchor"></a>mkin 0.9.49.5 (2019-07-04)<small> 2019-07-04 </small>
</h1>
<ul>
<li><p>Several algorithms for minimization of the negative log-likelihood for non-constant error models (two-component and variance by variable). In the case the error model is constant variance, least squares is used as this is more stable. The default algorithm ‘d_3’ tries direct minimization and a three-step procedure, and returns the model with the highest likelihood.</p></li>
<li><p>The argument ‘reweight.method’ to mkinfit and mmkin is now obsolete, use ‘error_model’ and ‘error_model_algorithm’ instead</p></li>
<li><p>Add a test that checks if we get the best known AIC for parent only fits to 12 test datasets. Add these test datasets for this purpose.</p></li>
<li><p>New function ‘mkinerrplot’. This function is also used for residual plots in ‘plot.mmkin’ if the argument ‘resplot = “errmod”’ is given, and in ‘plot.mkinfit’ if ‘show_errplot’ is set to TRUE.</p></li>
<li><p>Remove dependency on FME, only use nlminb for optimisation (‘Port’ algorithm). I cannot remember cases where one of the other optimisation algorithms was preferable, except that I sometime used Levenberg-Marquardt for speed in cases where I did not expect to get trapped in a local minimum.</p></li>
<li><p>Use the numDeriv package to calculate hessians. This results in slightly different confidence intervals, takes a bit longer, but is apparently more robust</p></li>
<li><p>Add a simple benchmark vignette to document the impact on performance.</p></li>
<li><p>The code for manual weighting was removed. This functionality might get added again at a later time. For the time being, please use an earlier version, e.g. 0.9.48.1 if you want to do manual weighting.</p></li>
<li><p>The fitting time reported in the summary now includes the time used for calculation of the hessians</p></li>
<li><p>Adapt tests</p></li>
<li><p>Fix an error in the FOCUS chi2 error level calculations that occurred if parameters were specified in parms.ini that were not in the model. A warning was already issued, but when fitting in parallel via mmkin this could go unnoticed.</p></li>
<li><p>Add example datasets obtained from risk assessment reports published by the European Food Safety Agency.</p></li>
</ul>
</div>
<div id="mkin-0-9-48-1-2019-03-04" class="section level1">
<h1 class="page-header" data-toc-text="0.9.48.1">
<a href="#mkin-0-9-48-1-2019-03-04" class="anchor"></a>mkin 0.9.48.1 (2019-03-04)<small> 2019-03-04 </small>
</h1>
<ul>
<li><p>Add the function ‘logLik.mkinfit’ which makes it possible to calculate an AIC for mkinfit objects</p></li>
<li><p>Add the function ‘AIC.mmkin’ to make it easy to compare columns of mmkin objects</p></li>
<li><p>‘add_err’: Respect the argument giving the number of replicates in the synthetic dataset</p></li>
<li><p>‘max_twa_parent’: Support maximum time weighted average concentration calculations for the hockey stick (HS) model</p></li>
<li><p>‘mkinpredict’: Make the function generic and create a method for mkinfit objects</p></li>
<li><p>‘mkinfit’: Improve the correctness of the fitted two component error model by fitting the mean absolute deviance at each observation against the observed values, weighting with the current two-component error model</p></li>
<li><p>‘tests/testthat/test_irls.R’: Test if the components of the error model used to generate the data can be reproduced with moderate accuracy</p></li>
<li><p>Add the function ‘CAKE_export’ to facilitate cross-checking of results</p></li>
<li><p>Implement the logistic model (only tested for parent fits)</p></li>
<li><p>‘nafta’: Add evaluations according to the NAFTA guidance</p></li>
</ul>
</div>
<div id="mkin-0-9-47-5-2018-09-14" class="section level1">
<h1 class="page-header" data-toc-text="0.9.47.5">
<a href="#mkin-0-9-47-5-2018-09-14" class="anchor"></a>mkin 0.9.47.5 (2018-09-14)<small> 2018-09-14 </small>
</h1>
<ul>
<li><p>Make the two-component error model stop in cases where it is inadequate to avoid nls crashes on windows</p></li>
<li><p>Move two vignettes to a location where they will not be built on CRAN (to avoid more NOTES from long execution times)</p></li>
<li><p>Exclude more example code from testing on CRAN to avoid NOTES from long execution times</p></li>
</ul>
</div>
<div id="mkin-0-9-47-3" class="section level1">
<h1 class="page-header" data-toc-text="0.9.47.3">
<a href="#mkin-0-9-47-3" class="anchor"></a>mkin 0.9.47.3<small> Unreleased </small>
</h1>
<ul>
<li><p>‘mkinfit’: Improve fitting the error model for reweight.method = ‘tc’. Add ‘manual’ to possible arguments for ‘weight’</p></li>
<li><p>Test that FOCUS_2006_C can be evaluated with DFOP and reweight.method = ‘tc’</p></li>
</ul>
</div>
<div id="mkin-0-9-47-2-2018-07-19" class="section level1">
<h1 class="page-header" data-toc-text="0.9.47.2">
<a href="#mkin-0-9-47-2-2018-07-19" class="anchor"></a>mkin 0.9.47.2 (2018-07-19)<small> 2018-07-19 </small>
</h1>
<ul>
<li><p>‘sigma_twocomp’: Rename ‘sigma_rl’ to ‘sigma_twocomp’ as the Rocke and Lorenzato model assumes lognormal distribution for large y. Correct references to the Rocke and Lorenzato model accordingly.</p></li>
<li><p>‘mkinfit’: Use 1.1 as starting value for N parameter of IORE models to obtain convergence in more difficult cases. Show parameter names when ‘trace_parms’ is ‘TRUE’.</p></li>
</ul>
</div>
<div id="mkin-0-9-47-1-2018-02-06" class="section level1">
<h1 class="page-header" data-toc-text="0.9.47.1">
<a href="#mkin-0-9-47-1-2018-02-06" class="anchor"></a>mkin 0.9.47.1 (2018-02-06)<small> 2018-02-06 </small>
</h1>
<ul>
<li><p>Skip some tests on CRAN and winbuilder to avoid timeouts</p></li>
<li><p>‘test_data_from_UBA_2014’: Added this list of datasets containing experimental data used in the expertise from 2014</p></li>
<li><p>‘mkinfit’: Added the iterative reweighting method ‘tc’ using the two-component error model from Rocke and Lorenzato. NA values in the data are not returned any more.</p></li>
<li><p>‘mkinfit’: Work around a bug in the current FME version that prevented the convergence message to be returned in the case of non-convergence.</p></li>
<li><p>‘summary.mkinfit’: Improved output regarding weighting method. No predictions are returned for NA values in the model (see above).</p></li>
<li><p>‘summary.mkinfit’: Show versions of mkin and R used for fitting (not the ones used for the summary) if the fit was generated with mkin >= 0.9.47.1</p></li>
</ul>
</div>
<div id="mkin-0-9-46-3-2017-11-16" class="section level1">
<h1 class="page-header" data-toc-text="0.9.46.3">
<a href="#mkin-0-9-46-3-2017-11-16" class="anchor"></a>mkin 0.9.46.3 (2017-11-16)<small> 2017-11-16 </small>
</h1>
<ul>
<li><p><code>README.md</code>, <code>vignettes/mkin.Rmd</code>: URLs were updated</p></li>
<li><p><code>synthetic_data_for_UBA</code>: Add the code used to generate the data in the interest of reproducibility</p></li>
</ul>
</div>
<div id="mkin-0-9-46-2-2017-10-10" class="section level1">
<h1 class="page-header" data-toc-text="0.9.46.2">
<a href="#mkin-0-9-46-2-2017-10-10" class="anchor"></a>mkin 0.9.46.2 (2017-10-10)<small> 2017-10-10 </small>
</h1>
<ul>
<li><p>Converted the vignette FOCUS_Z from tex/pdf to markdown/html</p></li>
<li><p><code>DESCRIPTION</code>: Add ORCID</p></li>
</ul>
</div>
<div id="mkin-0-9-46-1-2017-09-14" class="section level1">
<h1 class="page-header" data-toc-text="0.9.46.1">
<a href="#mkin-0-9-46-1-2017-09-14" class="anchor"></a>mkin 0.9.46.1 (2017-09-14)<small> 2017-09-14 </small>
</h1>
<ul>
<li><p><code>plot.mkinfit</code>: Fix scaling of residual plots for the case of separate plots for each observed variable</p></li>
<li><p><code>plot.mkinfit</code>: Use all data points of the fitted curve for y axis scaling for the case of separate plots for each observed variable</p></li>
<li><p>Documentation updates</p></li>
</ul>
</div>
<div id="mkin-0-9-46-2017-07-24" class="section level1">
<h1 class="page-header" data-toc-text="0.9.46">
<a href="#mkin-0-9-46-2017-07-24" class="anchor"></a>mkin 0.9.46 (2017-07-24)<small> 2017-07-29 </small>
</h1>
<ul>
<li>Remove <code>test_FOMC_ill-defined.R</code> as it is too platform dependent</li>
</ul>
</div>
<div id="mkin-0-9-45-2-2017-07-24" class="section level1">
<h1 class="page-header" data-toc-text="0.9.45.2">
<a href="#mkin-0-9-45-2-2017-07-24" class="anchor"></a>mkin 0.9.45.2 (2017-07-24)<small> 2017-07-22 </small>
</h1>
<ul>
<li><p>Rename <code>twa</code> to <code>max_twa_parent</code> to avoid conflict with <code>twa</code> from my <code>pfm</code> package</p></li>
<li><p>Update URLs in documentation</p></li>
<li><p>Limit test code to one core to pass on windows</p></li>
<li><p>Switch from <code>microbenchmark</code> to <code>rbenchmark</code> as the former is not supported on all platforms</p></li>
</ul>
</div>
<div id="mkin-0-9-45-1-2016-12-20" class="section level1">
<h1 class="page-header" data-toc-text="0.9.45.1">
<a href="#mkin-0-9-45-1-2016-12-20" class="anchor"></a>mkin 0.9.45.1 (2016-12-20)<small> Unreleased </small>
</h1>
<div id="new-features" class="section level2">
<h2 class="hasAnchor">
<a href="#new-features" class="anchor"></a>New features</h2>
<ul>
<li>A <code>twa</code> function, calculating maximum time weighted average concentrations for the parent (SFO, FOMC and DFOP).</li>
</ul>
</div>
</div>
<div id="mkin-0-9-45-2016-12-08" class="section level1">
<h1 class="page-header" data-toc-text="0.9.45">
<a href="#mkin-0-9-45-2016-12-08" class="anchor"></a>mkin 0.9.45 (2016-12-08)<small> 2016-12-08 </small>
</h1>
<div id="minor-changes" class="section level2">
<h2 class="hasAnchor">
<a href="#minor-changes" class="anchor"></a>Minor changes</h2>
<ul>
<li><p><code>plot.mkinfit</code> and <code>plot.mmkin</code>: If the plotting device is <code>tikz</code>, LaTeX markup is being used for the chi2 error in the graphs.</p></li>
<li><p>Use <code>pkgdown</code>, the successor of <code>staticdocs</code> for generating static HTML documentation. Include example output and graphs also for <code>dontrun</code> sections.</p></li>
<li><p><code>plot.mkinfit</code>: Plotting does not fail any more when the compiled model is not available, e.g. because it was removed from the temporary directory. In this case, the uncompiled model is now used for plotting</p></li>
</ul>
</div>
</div>
<div id="mkin-0-9-44-2016-06-29" class="section level1">
<h1 class="page-header" data-toc-text="0.9.44">
<a href="#mkin-0-9-44-2016-06-29" class="anchor"></a>mkin 0.9.44 (2016-06-29)<small> 2016-06-29 </small>
</h1>
<div id="bug-fixes" class="section level2">
<h2 class="hasAnchor">
<a href="#bug-fixes" class="anchor"></a>Bug fixes</h2>
<ul>
<li>The test <code>test_FOMC_ill-defined</code> failed on several architectures, so the test is now skipped</li>
</ul>
</div>
</div>
<div id="mkin-0-9-43-2016-06-28" class="section level1">
<h1 class="page-header" data-toc-text="0.9.43">
<a href="#mkin-0-9-43-2016-06-28" class="anchor"></a>mkin 0.9.43 (2016-06-28)<small> 2016-06-28 </small>
</h1>
<div id="major-changes" class="section level2">
<h2 class="hasAnchor">
<a href="#major-changes" class="anchor"></a>Major changes</h2>
<ul>
<li><p>The title was changed to <code>Kinetic evaluations of chemical degradation data</code></p></li>
<li><p><code>plot.mkinfit</code>: Add the possibility to show fits (and residual plots if requested) separately for the observed variables</p></li>
<li><p><code>plot.mkinfit</code>: Add the possibility to show the chi2 error levels in the plot, similar to the way they are shown in <code>plot.mmkin</code></p></li>
<li><p><code>plot_sep</code>: Add this function as a convenience wrapper for plotting observed variables of mkinfit objects separately, with chi2 error values and residual plots.</p></li>
<li><p>Vignettes: The main vignette <code>mkin</code> was converted to R markdown and updated. The other vignettes were also updated to show current improved functionality.</p></li>
<li><p>The function <code>add_err</code> was added to the package, making it easy to generate simulated data using an error model based on the normal distribution</p></li>
</ul>
</div>
<div id="minor-changes-1" class="section level2">
<h2 class="hasAnchor">
<a href="#minor-changes-1" class="anchor"></a>Minor changes</h2>
<ul>
<li><p>Remove an outdated reference to the inline package in the <code>compiled_models</code> vignette</p></li>
<li><p><code>mkinfit</code>: Do not error out in cases where the fit converges, but the Jacobian for the untransformed model cost can not be estimated. Give a warning instead and return NA for the t-test results.</p></li>
<li><p><code>summary.mkinfit</code>: Give a warning message when the covariance matrix can not be obtained.</p></li>
<li><p>A test has been added to containing a corresponding edge case to check that the warnings are correctly issued and the fit does not terminate.</p></li>
<li><p><code>plot.mmkin</code>: Round the chi2 error value to three significant digits, instead of two decimal digits.</p></li>
<li><p><code>mkinfit</code>: Return the <code>err</code> values used on weighted fits as a column named <code>err</code>. Also include these inverse weights when the column <code>value</code> in the observed data is used, which is returned as <code>observed</code> in the data component of the mkinfit object.</p></li>
</ul>
</div>
<div id="bug-fixes-1" class="section level2">
<h2 class="hasAnchor">
<a href="#bug-fixes-1" class="anchor"></a>Bug fixes</h2>
<ul>
<li><p><code>endpoints</code>: When the name of a substance degrading to a metabolite (e.g. a parent compound) used in the model formulation ended in the letter <code>f</code>, some rate parameters could be listed as formation fractions with mixed up names. These would also appear in the summary.</p></li>
<li><p><code>mkinfit</code>: Check for all observed variables when checking if the user tried to fix formation fractions when fitting them using ilr transformation.</p></li>
<li><p><code>plot.mmkin</code>: Set the plot margins correctly, also in the case of a single fit to be plotted, so the main title is placed in a reasonable way.</p></li>
<li><p><code>plot.mkinfit</code>: Correct default values for <code>col_obs</code>, <code>pch_obs</code> and <code>lty_obs</code> for the case that <code>obs_vars</code> is specified.</p></li>
</ul>
</div>
</div>
<div id="mkin-0-9-42-2016-03-25" class="section level1">
<h1 class="page-header" data-toc-text="0.9.42">
<a href="#mkin-0-9-42-2016-03-25" class="anchor"></a>mkin 0.9.42 (2016-03-25)<small> 2016-03-25 </small>
</h1>
<div id="major-changes-1" class="section level2">
<h2 class="hasAnchor">
<a href="#major-changes-1" class="anchor"></a>Major changes</h2>
<ul>
<li>Add the argument <code>from_max_mean</code> to <code>mkinfit</code>, for fitting only the decline from the maximum observed value for models with a single observed variable</li>
</ul>
</div>
<div id="minor-changes-2" class="section level2">
<h2 class="hasAnchor">
<a href="#minor-changes-2" class="anchor"></a>Minor changes</h2>
<ul>
<li><p>Add plots to <code>compiled_models</code> vignette</p></li>
<li><p>Give an explanatory error message when mkinmod fails due to a missing definition of a target variable</p></li>
<li><p><code><a href="../reference/mkinmod.html">print.mkinmod()</a></code>: Improve formatting when printing mkinmod model definitions</p></li>
</ul>
</div>
</div>
<div id="mkin-0-9-41-2015-11-09" class="section level1">
<h1 class="page-header" data-toc-text="0.9-41">
<a href="#mkin-0-9-41-2015-11-09" class="anchor"></a>mkin 0.9-41 (2015-11-09)<small> 2015-11-09 </small>
</h1>
<div id="minor-changes-3" class="section level2">
<h2 class="hasAnchor">
<a href="#minor-changes-3" class="anchor"></a>Minor changes</h2>
<ul>
<li><p>Add an R6 class <code>mkinds</code> representing datasets with a printing method</p></li>
<li><p>Add a printing method for mkinmod objects</p></li>
<li><p>Make it possible to specify arbitrary strings as names for the compounds in <code>mkinmod</code>, and show them in the plot</p></li>
<li><p>Use an index.r file to group help topics in static documentation</p></li>
</ul>
</div>
<div id="bug-fixes-2" class="section level2">
<h2 class="hasAnchor">
<a href="#bug-fixes-2" class="anchor"></a>Bug fixes</h2>
<ul>
<li>
<code><a href="../reference/summary.mkinfit.html">print.summary.mkinfit()</a></code>: Avoid an error that occurred when printing summaries generated with mkin versions before 0.9-36</li>
</ul>
</div>
</div>
<div id="mkin-0-9-40-2015-07-21" class="section level1">
<h1 class="page-header" data-toc-text="0.9-40">
<a href="#mkin-0-9-40-2015-07-21" class="anchor"></a>mkin 0.9-40 (2015-07-21)<small> 2015-07-21 </small>
</h1>
<div id="bug-fixes-3" class="section level2">
<h2 class="hasAnchor">
<a href="#bug-fixes-3" class="anchor"></a>Bug fixes</h2>
<ul>
<li>
<code><a href="../reference/endpoints.html">endpoints()</a></code>: For DFOP and SFORB models, where <code><a href="https://rdrr.io/r/stats/optimize.html">optimize()</a></code> is used, make use of the fact that the DT50 must be between DT50_k1 and DT50_k2 (DFOP) or DT50_b1 and DT50_b2 (SFORB), as <code><a href="https://rdrr.io/r/stats/optimize.html">optimize()</a></code> sometimes did not find the minimum. Likewise for finding DT90 values. Also fit on the log scale to make the function more efficient.</li>
</ul>
</div>
<div id="internal-changes" class="section level2">
<h2 class="hasAnchor">
<a href="#internal-changes" class="anchor"></a>Internal changes</h2>
<ul>
<li>
<code>DESCRIPTION</code>, <code>NAMESPACE</code>, <code>R/*.R</code>: Import (from) stats, graphics and methods packages, and qualify some function calls for non-base packages installed with R to avoid NOTES made by R CMD check –as-cran with upcoming R versions.</li>
</ul>
</div>
</div>
<div id="mkin-0-9-39-2015-06-26" class="section level1">
<h1 class="page-header" data-toc-text="0.9-39">
<a href="#mkin-0-9-39-2015-06-26" class="anchor"></a>mkin 0.9-39 (2015-06-26)<small> 2015-06-26 </small>
</h1>
<div id="major-changes-2" class="section level2">
<h2 class="hasAnchor">
<a href="#major-changes-2" class="anchor"></a>Major changes</h2>
<ul>
<li><p>New function <code><a href="../reference/mmkin.html">mmkin()</a></code>: This function takes a character vector of model shorthand names, or alternatively a list of mkinmod models, as well as a list of dataset as main arguments. It returns a matrix of mkinfit objects, with a row for each model and a column for each dataset. A subsetting method with single brackets is available. Fitting the models in parallel using the <code>parallel</code> package is supported.</p></li>
<li><p>New function <code><a href="../reference/plot.mmkin.html">plot.mmkin()</a></code>: Plots single-row or single-column <code>mmkin</code> objects including residual plots.</p></li>
</ul>
</div>
<div id="bug-fixes-4" class="section level2">
<h2 class="hasAnchor">
<a href="#bug-fixes-4" class="anchor"></a>Bug fixes</h2>
<ul>
<li>
<code><a href="../reference/mkinparplot.html">mkinparplot()</a></code>: Fix the x axis scaling for rate constants and formation fractions that got confused by the introduction of the t-values of transformed parameters.</li>
</ul>
</div>
</div>
<div id="mkin-0-9-38-2015-06-24" class="section level1">
<h1 class="page-header" data-toc-text="0.9-38">
<a href="#mkin-0-9-38-2015-06-24" class="anchor"></a>mkin 0.9-38 (2015-06-24)<small> 2015-06-23 </small>
</h1>
<div id="minor-changes-4" class="section level2">
<h2 class="hasAnchor">
<a href="#minor-changes-4" class="anchor"></a>Minor changes</h2>
<ul>
<li><p><code>vignettes/compiled_models.html</code>: Show the performance improvement factor actually obtained when building the vignette, as well as mkin version, some system info and the CPU model used for building the vignette.</p></li>
<li><p><code>GNUMakefile</code>,<code>vignettes/*</code>: Clean up vignette generation and include table of contents in HTML vignettes.</p></li>
</ul>
</div>
<div id="bug-fixes-5" class="section level2">
<h2 class="hasAnchor">
<a href="#bug-fixes-5" class="anchor"></a>Bug fixes</h2>
<ul>
<li>
<code><a href="../reference/mkinmod.html">mkinmod()</a></code>: When generating the C code for the derivatives, only declare the time variable when it is needed and remove the ‘-W-no-unused-variable’ compiler flag as the C compiler used in the CRAN checks on Solaris does not know it.</li>
</ul>
</div>
</div>
<div id="mkin-0-9-36-2015-06-21" class="section level1">
<h1 class="page-header" data-toc-text="0.9-36">
<a href="#mkin-0-9-36-2015-06-21" class="anchor"></a>mkin 0.9-36 (2015-06-21)<small> 2015-06-21 </small>
</h1>
<div id="major-changes-3" class="section level2">
<h2 class="hasAnchor">
<a href="#major-changes-3" class="anchor"></a>Major changes</h2>
<ul>
<li><p><code><a href="../reference/summary.mkinfit.html">summary.mkinfit()</a></code>: A one-sided t-test for significant difference of untransformed parameters from zero is now always shown, based on the assumption of normal distribution for estimators of all untransformed parameters. Use with caution, as this assumption is unrealistic e.g. for rate constants in these nonlinear kinetic models.</p></li>
<li><p>If a compiler (gcc) is installed, use a version of the differential equation model compiled from C code, which is a huge performance boost for models where only the deSolve method works.</p></li>
<li><p><code><a href="../reference/mkinmod.html">mkinmod()</a></code>: Create a list component $cf (of class CFuncList) in the list returned by mkinmod, if a version can be compiled from autogenerated C code (see above).</p></li>
<li><p><code><a href="../reference/mkinfit.html">mkinfit()</a></code>: Set the default <code>solution_type</code> to <code>deSolve</code> when a compiled version of the model is present, except when an analytical solution is possible.</p></li>
</ul>
</div>
<div id="minor-changes-5" class="section level2">
<h2 class="hasAnchor">
<a href="#minor-changes-5" class="anchor"></a>Minor changes</h2>
<ul>
<li>Added a simple showcase vignette with an evaluation of FOCUS example dataset D</li>
</ul>
</div>
</div>
<div id="mkin-0-9-35-2015-05-15" class="section level1">
<h1 class="page-header" data-toc-text="0.9-35">
<a href="#mkin-0-9-35-2015-05-15" class="anchor"></a>mkin 0.9-35 (2015-05-15)<small> 2015-05-15 </small>
</h1>
<div id="major-changes-4" class="section level2">
<h2 class="hasAnchor">
<a href="#major-changes-4" class="anchor"></a>Major changes</h2>
<ul>
<li>Switch from RUnit to testthat for testing</li>
</ul>
</div>
<div id="bug-fixes-6" class="section level2">
<h2 class="hasAnchor">
<a href="#bug-fixes-6" class="anchor"></a>Bug fixes</h2>
<ul>
<li><p><code><a href="../reference/mkinparplot.html">mkinparplot()</a></code>: Avoid warnings that occurred when not all confidence intervals were available in the summary of the fit</p></li>
<li><p><code><a href="../reference/summary.mkinfit.html">print.summary.mkinfit()</a></code>: Fix printing the summary for the case that the number of iterations is not available</p></li>
<li><p>NAMESPACE: export S3 methods plot.mkinfit, summary.mkinfit and print.summary.mkinfit to satisfy R CMD check on R-devel</p></li>
<li><p><code><a href="../reference/mkinparplot.html">mkinparplot()</a></code>: Avoid warning in R CMD check about undeclared global variable <code>Lower</code></p></li>
</ul>
</div>
<div id="new-features-1" class="section level2">
<h2 class="hasAnchor">
<a href="#new-features-1" class="anchor"></a>New features</h2>
<ul>
<li><p><code><a href="../reference/mkinfit.html">mkinfit()</a></code>: Report successful termination when quiet = FALSE. This is helpful for more difficult problems fitted with reweight.method = obs, as no progress is often indicated during the reweighting.</p></li>
<li><p>A first test using results established in the expertise written for the German Federal Environmental Agency (UBA) was added.</p></li>
<li><p>Add synthetic datasets generated for expertise written for the German Federal Environmental Agency UBA</p></li>
<li><p>Add tests based on these datasets</p></li>
</ul>
</div>
</div>
<div id="mkin-0-9-34-2014-11-22" class="section level1">
<h1 class="page-header" data-toc-text="0.9-34">
<a href="#mkin-0-9-34-2014-11-22" class="anchor"></a>mkin 0.9-34 (2014-11-22)<small> 2014-11-22 </small>
</h1>
<div id="new-features-2" class="section level2">
<h2 class="hasAnchor">
<a href="#new-features-2" class="anchor"></a>New features</h2>
<ul>
<li><p>Add the convenience function <code><a href="../reference/mkinmod.html">mkinsub()</a></code> for creating the lists used in <code><a href="../reference/mkinmod.html">mkinmod()</a></code></p></li>
<li><p>Add the possibility to fit indeterminate order rate equation (IORE) models using an analytical solution (parent only) or a numeric solution. Paths from IORE compounds to metabolites are supported when using formation fractions (use_of_ff = ‘max’). Note that the numerical solution (method.ode = ‘deSolve’) of the IORE differential equations sometimes fails due to numerical problems.</p></li>
<li><p>Switch to using the Port algorithm (using a model/trust region approach) per default. While needing more iterations than the Levenberg-Marquardt algorithm previously used per default, it is less sensitive to starting parameters.</p></li>
</ul>
</div>
<div id="minor-changes-6" class="section level2">
<h2 class="hasAnchor">
<a href="#minor-changes-6" class="anchor"></a>Minor changes</h2>
<ul>
<li><p>The formatting of differential equations in the summary was further improved</p></li>
<li><p>Always include 0 on y axis when plotting during the fit</p></li>
</ul>
</div>
</div>
<div id="mkin-0-9-33-2014-10-22" class="section level1">
<h1 class="page-header" data-toc-text="0.9-33">
<a href="#mkin-0-9-33-2014-10-22" class="anchor"></a>mkin 0.9-33 (2014-10-22)<small> 2014-10-12 </small>
</h1>
<div id="new-features-3" class="section level2">
<h2 class="hasAnchor">
<a href="#new-features-3" class="anchor"></a>New features</h2>
<ul>
<li><p>The initial value (state.ini) for the observed variable with the highest observed residue is set to 100 in case it has no time zero observation and <code>state.ini = "auto"</code></p></li>
<li><p>A basic unit test for <code><a href="../reference/mkinerrmin.html">mkinerrmin()</a></code> was written</p></li>
</ul>
</div>
<div id="bug-fixes-7" class="section level2">
<h2 class="hasAnchor">
<a href="#bug-fixes-7" class="anchor"></a>Bug fixes</h2>
<ul>
<li><p><code><a href="../reference/mkinfit.html">mkinfit()</a></code>: The internally fitted parameter for <code>g</code> was named <code>g_ilr</code> even when <code>transform_fractions=FALSE</code></p></li>
<li><p><code><a href="../reference/mkinfit.html">mkinfit()</a></code>: The initial value (state.ini) for the parent compound was not set when the parent was not the (only) variable with the highest value in the observed data.</p></li>
<li><p><code><a href="../reference/mkinerrmin.html">mkinerrmin()</a></code>: When checking for degrees of freedom for metabolites, check if their time zero value is fixed instead of checking if the observed value is zero. This ensures correct calculation of degrees of freedom also in cases where the metabolite residue at time zero is greater zero.</p></li>
<li><p><code><a href="../reference/plot.mkinfit.html">plot.mkinfit()</a></code>: Avoid a warning message about only using the first component of ylim that occurred when ylim was specified explicitly</p></li>
</ul>
</div>
<div id="minor-changes-7" class="section level2">
<h2 class="hasAnchor">
<a href="#minor-changes-7" class="anchor"></a>Minor changes</h2>
<ul>
<li><p>The formatting of differential equations in the summary was improved by wrapping overly long lines</p></li>
<li><p>The FOCUS_Z vignette was rebuilt with the above improvement and using a width of 70 to avoid output outside of the grey area</p></li>
<li><p><code><a href="../reference/summary.mkinfit.html">print.summary.mkinfit()</a></code>: Avoid a warning that occurred when gmkin showed summaries of initial fits without iterations</p></li>
<li><p><code><a href="../reference/mkinfit.html">mkinfit()</a></code>: Avoid a warning that occurred when summarising a fit that was performed with maxitmodFit = 0 as done in gmkin for configuring new fits.</p></li>
</ul>
</div>
</div>
<div id="mkin-0-9-32-2014-07-24" class="section level1">
<h1 class="page-header" data-toc-text="0.9-32">
<a href="#mkin-0-9-32-2014-07-24" class="anchor"></a>mkin 0.9-32 (2014-07-24)<small> 2014-07-24 </small>
</h1>
<div id="new-features-4" class="section level2">
<h2 class="hasAnchor">
<a href="#new-features-4" class="anchor"></a>New features</h2>
<ul>
<li><p>The number of degrees of freedom is difficult to define in the case of ilr transformation of formation fractions. Now for each source compartment the number of ilr parameters (=number of optimised parameters) is divided by the number of pathways to metabolites (=number of affected data series) which leads to fractional degrees of freedom in some cases.</p></li>
<li><p>The default for the initial value for the first state value is now taken from the mean of the observations at time zero, if available.</p></li>
<li><p>The kinetic model can alternatively be specified with a shorthand name for parent only degradation models, e.g. <code>SFO</code>, or <code>DFOP</code>.</p></li>
<li><p>Optimisation method, number of model evaluations and time elapsed during optimisation are given in the summary of mkinfit objects.</p></li>
<li><p>The maximum number of iterations in the optimisation algorithm can be specified using the argument <code>maxit.modFit</code> to the mkinfit function.</p></li>
<li><p>mkinfit gives a warning when the fit does not converge (does not apply to SANN method). This warning is included in the summary.</p></li>
</ul>
</div>
<div id="bug-fixes-8" class="section level2">
<h2 class="hasAnchor">
<a href="#bug-fixes-8" class="anchor"></a>Bug fixes</h2>
<ul>
<li><p>Avoid plotting an artificial 0 residual at time zero in <code>mkinresplot</code></p></li>
<li><p>In the determination of the degrees of freedom in <code>mkinerrmin</code>, formation fractions were accounted for multiple times in the case of parallel formation of metabolites. See the new feature described above for the solution.</p></li>
<li><p><code>transform_rates=FALSE</code> in <code>mkinfit</code> now also works for FOMC and HS models.</p></li>
<li><p>Initial values for formation fractions were not set in all cases.</p></li>
<li><p>No warning was given when the fit did not converge when a method other than the default Levenberg-Marquardt method <code>Marq</code> was used.</p></li>
</ul>
</div>
<div id="minor-changes-8" class="section level2">
<h2 class="hasAnchor">
<a href="#minor-changes-8" class="anchor"></a>Minor changes</h2>
<ul>
<li><p>Vignettes were rebuilt to reflect the changes in the summary method.</p></li>
<li><p>Algorithm <code>Pseudo</code> was excluded because it needs user-defined parameter limits which are not supported.</p></li>
<li><p>Algorithm <code>Newton</code> was excluded because of its different way to specify the maximum number of iterations and because it does not appear to provide additional benefits.</p></li>
</ul>
</div>
</div>
<div id="mkin-0-9-31-2014-07-14" class="section level1">
<h1 class="page-header" data-toc-text="0.9-31">
<a href="#mkin-0-9-31-2014-07-14" class="anchor"></a>mkin 0.9-31 (2014-07-14)<small> 2014-07-14 </small>
</h1>
<div id="bug-fixes-9" class="section level2">
<h2 class="hasAnchor">
<a href="#bug-fixes-9" class="anchor"></a>Bug fixes</h2>
<ul>
<li>The internal renaming of optimised parameters in Version 0.9-30 led to errors in the determination of the degrees of freedom for the chi2 error level calulations in <code><a href="../reference/mkinerrmin.html">mkinerrmin()</a></code> used by the summary function.</li>
</ul>
</div>
</div>
<div id="mkin-0-9-30-2014-07-11" class="section level1">
<h1 class="page-header" data-toc-text="0.9-30">
<a href="#mkin-0-9-30-2014-07-11" class="anchor"></a>mkin 0.9-30 (2014-07-11)<small> 2014-07-11 </small>
</h1>
<div id="new-features-5" class="section level2">
<h2 class="hasAnchor">
<a href="#new-features-5" class="anchor"></a>New features</h2>
<ul>
<li>It is now possible to use formation fractions in combination with turning off the sink in <code><a href="../reference/mkinmod.html">mkinmod()</a></code>.</li>
</ul>
</div>
<div id="major-changes-5" class="section level2">
<h2 class="hasAnchor">
<a href="#major-changes-5" class="anchor"></a>Major changes</h2>
<ul>
<li><p>The original and the transformed parameters now have different names (e.g. <code>k_parent</code> and <code>log_k_parent</code>. They also differ in how many they are when we have formation fractions but no pathway to sink.</p></li>
<li><p>The order of some of the information blocks in <code>print.summary.mkinfit.R()</code> has been ordered in a more logical way.</p></li>
</ul>
</div>
<div id="minor-changes-9" class="section level2">
<h2 class="hasAnchor">
<a href="#minor-changes-9" class="anchor"></a>Minor changes</h2>
<ul>
<li><p>The vignette FOCUS_Z has been simplified to use formation fractions with turning off the sink, and slightly amended to use the new versions of DT50 values calculated since mkin 0.9-29.</p></li>
<li><p>All vignettes have been rebuilt so they reflect all changes.</p></li>
<li><p>The ChangeLog was renamed to NEWS.md and the entries were converted to markdown syntax compatible with the <code>tools::news()</code> function built into R.</p></li>
<li><p>The test suite was overhauled. Tests of the DFOP and SFORB models with dataset FOCUS_2006_A were removed, as they were too much dependent on the optimisation algorithm and/or starting parameters, because the dataset is SFO (compare kinfit vignette).</p></li>
<li><p>Also, the Schaefer complex case can now be fitted using formation fractions, and with the ‘Port’ optimisation method we also fit A2 in the same way as published in the Piacenza paper.</p></li>
<li><p>Some more checks were introduced to <code><a href="../reference/mkinfit.html">mkinfit()</a></code>, leading to warnings or stopping execution if unsupported combinations of methods and parameters are requested.</p></li>
</ul>
</div>
</div>
<div id="mkin-0-9-29-2014-06-27" class="section level1">
<h1 class="page-header" data-toc-text="0.9-29">
<a href="#mkin-0-9-29-2014-06-27" class="anchor"></a>mkin 0.9-29 (2014-06-27)<small> 2014-06-27 </small>
</h1>
<ul>
<li><p>R/mkinresplot.R: Make it possible to specify <code>xlim</code></p></li>
<li><p>R/geometric_mean.R, man/geometric_mean.Rd: Add geometric mean function</p></li>
<li><p>R/endpoints.R, man/endpoints.Rd: Calculate additional (pseudo)-DT50 values for FOMC, DFOP, HS and SFORB. Avoid calculation of formation fractions from rate constants when they are directly fitted</p></li>
</ul>
</div>
<div id="mkin-0-9-28-2014-05-20" class="section level1">
<h1 class="page-header" data-toc-text="0.9-28">
<a href="#mkin-0-9-28-2014-05-20" class="anchor"></a>mkin 0.9-28 (2014-05-20)<small> 2014-05-20 </small>
</h1>
<ul>
<li><p>Do not backtransform confidence intervals for formation fractions if more than one compound is formed, as such parameters only define the pathways as a set</p></li>
<li><p>Add historical remarks and some background to the main package vignette</p></li>
<li><p>Correct ‘isotropic’ into ‘isometric’ for the ilr transformation</p></li>
</ul>
</div>
<div id="mkin-0-9-27-2014-05-10" class="section level1">
<h1 class="page-header" data-toc-text="0.9-27">
<a href="#mkin-0-9-27-2014-05-10" class="anchor"></a>mkin 0.9-27 (2014-05-10)<small> 2014-05-10 </small>
</h1>
<ul>
<li><p>Fork the GUI into a separate package <a href="https://github.com/jranke/gmkin">gmkin</a></p></li>
<li><p>DESCRIPTION, NAMESPACE, TODO: Adapt and add copyright information</p></li>
<li><p>Remove files belonging to the GUI</p></li>
<li><p>Possibility to fit without parameter transformations, using bounds as implemented in FME</p></li>
<li><p>Add McCall 2,4,5-T dataset</p></li>
<li><p>Enable selection of observed variables in plotting</p></li>
<li><p>Add possibility to show residual plot in <code>plot.mkinfit</code></p></li>
<li><p>R/mkinparplot.R, man/mkinparplot.Rd: plot parameters with confidence intervals</p></li>
<li><p>Change vignette format from Sweave to knitr</p></li>
<li><p>Split examples vignette to FOCUS_L and FOCUS_Z</p></li>
<li><p>Remove warning about constant formation fractions in mkinmod as it was based on a misconception</p></li>
<li><p>Restrict the unit test with the Schaefer data to parent and primary metabolites as formation fraction and DT50 for A2 are highly correlated and passing the test is platform dependent. For example, the test fails in 1 out of 14 platforms on CRAN as of today.</p></li>
<li><p>Add Eurofins Regulatory AG copyright notices</p></li>
<li><p>Import FME and deSolve instead of depending on them to have clean startup</p></li>
<li><p>Add a starter function for the GUI: <code>gmkin()</code></p></li>
<li><p>Change the format of the workspace files of gmkin so they can be distributed and documented in the package</p></li>
<li><p>Add gmkin workspace datasets FOCUS_2006_gmkin and FOCUS_2006_Z_gmkin</p></li>
</ul>
</div>
<div id="mkin-0-9-24-2013-11-06" class="section level1">
<h1 class="page-header" data-toc-text="0.9-24">
<a href="#mkin-0-9-24-2013-11-06" class="anchor"></a>mkin 0.9-24 (2013-11-06)<small> 2013-11-06 </small>
</h1>
<ul>
<li><p>Bugfix re-enabling the fixing of any combination of initial values for state variables</p></li>
<li><p>Default values for kinetic rate constants are not all 0.1 any more but are “salted” with a small increment to avoid numeric artefacts with the eigenvalue based solutions</p></li>
<li><p>Backtransform fixed ODE parameters for the summary</p></li>
</ul>
</div>
<div id="mkin-0-9-22-2013-10-26" class="section level1">
<h1 class="page-header" data-toc-text="0.9-22">
<a href="#mkin-0-9-22-2013-10-26" class="anchor"></a>mkin 0.9-22 (2013-10-26)<small> 2013-10-26 </small>
</h1>
<ul>
<li><p>Get rid of the optimisation step in <code>mkinerrmin</code> - this was unnecessary. Thanks to KinGUII for the inspiration - actually this is equation 6-2 in FOCUS kinetics p. 91 that I had overlooked originally</p></li>
<li><p>Fix <code>plot.mkinfit</code> as it passed graphical arguments like main to the solver</p></li>
<li><p>Do not use <code>plot=TRUE</code> in <code><a href="../reference/mkinfit.html">mkinfit()</a></code> example</p></li>
<li><p>The first successful fits in the not so simple GUI</p></li>
<li><p>Fix iteratively reweighted least squares for the case of many metabolites</p></li>
<li><p>Unify naming of initial values of state variables</p></li>
<li><p>Unify naming in dataframes of optimised and fixed parameters in the summary</p></li>
<li><p>Show the weighting method for residuals in the summary</p></li>
<li><p>Correct the output of the data in the case of manual weighting</p></li>
<li><p>Implement IRLS assuming different variances for observed variables</p></li>
<li><p>Do not use 0 values at time zero for chi2 error level calculations. This is the way it is done in KinGUII and it makes sense. It does impact the chi2 error levels in the output. Generally they seem to be lower for metabolites now, presumably because the mean of the observed values is higher</p></li>
</ul>
<p>For a detailed list of changes to the mkin source please consult the commit history on <a href="http://github.com/jranke/mkin" class="uri">http://github.com/jranke/mkin</a></p>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top">
<h2 data-toc-skip>Contents</h2>
</nav>
</div>
</div>
<footer>
<div class="copyright">
<p>Developed by Johannes Ranke.</p>
</div>
<div class="pkgdown">
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.6.1.</p>
</div>
</footer>
</div>
</body>
</html>
|