Forum: developers


RE: version 1.3 [ Reply ] By: Arne Henningsen on 2015-10-22 17:30 | [forum:42685] |
Hi Ott * sumt, condiNumber: function(..., printLevel=print.level, print.level=0) and using printLevel in the code sounds like a good idea. Later we could perhaps give a 'deprecated' warning if someone uses print.level and remove this argument some time later. * 'consistent getters': good idea :-) * maintainer: as you have worked much more on maxLik than I in the previous year (at least) and I don't fully understand yet how setClass(), etc. work, I would be happy if you could take over the role as maintainer. Best wishes, Arne |
RE: version 1.3 [ Reply ] By: Ott Toomet on 2015-10-22 16:21 | [forum:42684] |
Hey, great to hear from you :-) * sumt, condiNumber: I first wanted to hear you opinion about print.level vs printLevel. 'printLevel' feels more consistent for me, although across the packages you encounter all kind of ways to specify the parameters. So perhaps I will do something like: function(..., printLevel=print.level, print.level=0) and use printLevel below in the code. * 'consistent getters': I mean that the user should be able to access all relevant returns from maxLik through access functions, without any knowledge about the underlying structure (currently a list of class "maxLik"). The existing ones are coef(), logLik(), nIter(), returnCode() and a few others. I think we need something like gradient() to give the summed gradient, unlike the gradient by observation as in estFun; optimum() to fetch the maximum of 'maxim' objects, and perhaps a few more. My main motivation is that this would allow us to change the maxim/maxLik/etc object structure while keeping the user interface consistent. But I don't know, R classes do not have private components unlike java.. In any case, I leave this for the future work. * I don't care much who of us is the maintainer, I think I changed it in order to use winbuilder. But I can definitely maintain it in the future. * I hope I can finish what is left over the weekend. |
RE: version 1.3 [ Reply ] By: Arne Henningsen on 2015-10-22 07:59 | [forum:42681] |
Hi Ott! Great Work! I think that it brought the package a big step forward :-) I have corrected a very few minor typos (svn commit 1549). Is there a reason why sumt() and condiNumber() do not take argument "printLevel"? If there is not an important reason, I suggest to change this before releasing version 1.3. I completely agree that the tests are a mess and that we should make them more consistent. What do you mean by having "consistent getters for all important return values"? I also agree that you take over the 'maintainer' role. The "CRAN Repository Policy" says: "When a new maintainer wishes to take over a package, this should be accompanied by the written agreement of the previous maintainer (unless the package has been formally orphaned)." I suggest that I send an e-mail to CRAN@R-project.org, cc'ed to you, saying that you will take over the role as maintainer of the maxLik package. Ok? Cheers, Arne |
RE: version 1.3 [ Reply ] By: Ott Toomet on 2015-10-19 00:40 | [forum:42675] |
Changes of today: * the control list can include the same parameter repeatedly, only the last occurrence counts. This is in order to facilitate using maxLik in your own functions, and let the user override default parameters. See the example in maxLik-package documentations |
version 1.3 [ Reply ] By: Ott Toomet on 2015-10-09 00:57 | [forum:42628] |
Hey Arne, I have now more-or-less done what I planned to do for version 1.3. I would appreciate your feedback/thoughts in a few places. What I have done: * all maxXX function now take control=list(...) type of control parameters * the parameters have different set of names, including like 'tol', 'reltol' etc, 'marquardt_lambda0', 'nm_alpha' and so on. ** Note: all lower case for easy typing. ** Note also: I grouped the parameters according to 'type' where type may be either optimizer or something else. 'Marquardt_lambda' simply sounds better that 'nr_lambda' for me. * certain upper case versions are also supported, like 'Marquardt_lambda0' and 'NM_alpha', but not documented. * all the old parameter names are retained when supplying those openly. * new ones (Marquardt) can only be supplied through the control option. * I also changed the default name for print.level to printLevel (but print.level is supported both in and out of control list). I did it inconsistently though--sumt and condiNumber only take print.level. Your opinion appreciated. * Polished documentation, updated examples, found a couple of minor errors in the process. There is still a lot that should be done (in particular, tests is a mess, and I would like to have consistent getters for all important return values). But I would like to stop for now and roll out 1.3 soon. |