Skip to content
Prev 38565 / 63424 Next

Competing with one's own work

Dear Duncan, 

What constitutes a convincing argument for making significant changes?
Taking the example of optimization algorithms (say, for smooth objective
functions), how does one make a convincing argument that a particular class
of algorithms are "better" than another class? This can be a difficult task,
but quite doable with good benchmarking practices.  

Supposing for the moment that such a convincing argument has been made, is
that sufficient to get the R-core to act upon it?  Are there compelling
factors other than just "algorithm A is better than algorithm B"?

I'd think that the argument is relatively easy if the need for the change is
driven by consumer demand. But, even here I am not sure how to make an
argument to the R-core to consider the big changes.  For example, there is a
reasonable demand for constrained (smooth) optimization algorithms in R
(based on R-help queries).  Currently, there are only 3 packages that can
handle this.  However, in the base distribution only `constrOptim' function
is provided, which cannot handle anything more than linear, inequality
constraints.  I think that the base distribution needs to have a package for
constrained optimization that can handle linear/nonlinear and
equality/inequality constraints.  

John, thanks for raising an important issue.

Thanks & Best,
Ravi.

-------------------------------------------------------
Ravi Varadhan, Ph.D.
Assistant Professor,
Division of Geriatric Medicine and Gerontology School of Medicine Johns
Hopkins University

Ph. (410) 502-2619
email: rvaradhan at jhmi.edu


-----Original Message-----
From: r-devel-bounces at r-project.org [mailto:r-devel-bounces at r-project.org]
On Behalf Of Duncan Murdoch
Sent: Friday, December 03, 2010 11:13 AM
To: nashjc at uottawa.ca
Cc: r-devel at r-project.org
Subject: Re: [Rd] Competing with one's own work
On 03/12/2010 10:57 AM, Prof. John C Nash wrote:
raised a question
and there are
which are based on
methods...", which were
that work (with
some
BASIC codes of the
I'd wish on
do offer
ready for
some of the tools
routines. It is also
sensible guidance and
more choice than
to me that this
be appropriate,
should offer help.
Extensions" that has
negative.
would be nice to
There are answers at many different levels to your questions.  The 
simplest is that base packages are part of R, so they get updated when a 
member of R Core updates them, and the updates get released when a new 
version of R is released.

So if you want a change, you need to convince a member of the core to 
make it.  Pointing out a bug is the easiest way to do this:  bugs 
usually get fixed quickly, if they are clearly demonstrated.

If you want a bigger change, you need to make a convincing argument in 
favour of it.  If you pick a topic that is of particular interest to one 
core member, and you can convince him to make the change, then it will 
happen.  If pick some obscure topic that's not of interest to anyone, 
you'll need a very strong argument to make it interesting.  Part of any 
of these arguments is explaining why the change needs to be made to the 
base, why it can't just be published in a contributed package.  (That's 
why bug fixes are easy, and big additions to the base packages are not.)

Duncan Murdoch

______________________________________________
R-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel