Hi,
I've noted that not all `predict' methods are hidden in the namespace:
> methods("predict")
[1] predict.ar* predict.Arima*
[3] predict.arima0* predict.glm
[5] predict.HoltWinters* predict.lm
[7] predict.loess* predict.mlm
[9] predict.nls* predict.poly
[11] predict.ppr* predict.prcomp*
[13] predict.princomp* predict.smooth.spline*
[15] predict.smooth.spline.fit* predict.StructTS*
Non-visible functions are asterisked
I'm sure there's a good reason for this, but I haven't been able to
figure it out. Please enlighten me.
Thanks!
Henric
Unhidden predict methods
5 messages · Henric Nilsson (Public), Henrik Bengtsson, Brian Ripley +1 more
One reason is that you should never call those methods directly but only via the generic function predict(), and this is a way to prevent such misuse/mishaps. You can always use getAnywhere() if you want look at the code. /H
On 3/16/07, Henric Nilsson (Public) <nilsson.henric at gmail.com> wrote:
Hi, I've noted that not all `predict' methods are hidden in the namespace:
> methods("predict")
[1] predict.ar* predict.Arima*
[3] predict.arima0* predict.glm
[5] predict.HoltWinters* predict.lm
[7] predict.loess* predict.mlm
[9] predict.nls* predict.poly
[11] predict.ppr* predict.prcomp*
[13] predict.princomp* predict.smooth.spline*
[15] predict.smooth.spline.fit* predict.StructTS*
Non-visible functions are asterisked
I'm sure there's a good reason for this, but I haven't been able to
figure it out. Please enlighten me.
Thanks!
Henric
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
The reason some are not hidden is historical: they were called explicitly by (contributed) package code at the time namespaces were introduced. It would be a good idea to revisit some of those decisions, but it is not a very appealing way to spend one's time.
On Fri, 16 Mar 2007, Henric Nilsson (Public) wrote:
Hi, I've noted that not all `predict' methods are hidden in the namespace:
methods("predict")
[1] predict.ar* predict.Arima* [3] predict.arima0* predict.glm [5] predict.HoltWinters* predict.lm [7] predict.loess* predict.mlm [9] predict.nls* predict.poly [11] predict.ppr* predict.prcomp* [13] predict.princomp* predict.smooth.spline* [15] predict.smooth.spline.fit* predict.StructTS* Non-visible functions are asterisked I'm sure there's a good reason for this, but I haven't been able to figure it out. Please enlighten me.
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
Den 2007-03-16 13:25, Prof Brian Ripley skrev:
The reason some are not hidden is historical: they were called explicitly by (contributed) package code at the time namespaces were introduced.
Ah, I see. In that case I'll just hide away as much as possible in the new package I'm working on.
It would be a good idea to revisit some of those decisions, but it is not a very appealing way to spend one's time.
Agreed. Thanks again! Henric
On Fri, 16 Mar 2007, Henric Nilsson (Public) wrote:
Hi, I've noted that not all `predict' methods are hidden in the namespace:
methods("predict")
[1] predict.ar* predict.Arima* [3] predict.arima0* predict.glm [5] predict.HoltWinters* predict.lm [7] predict.loess* predict.mlm [9] predict.nls* predict.poly [11] predict.ppr* predict.prcomp* [13] predict.princomp* predict.smooth.spline* [15] predict.smooth.spline.fit* predict.StructTS* Non-visible functions are asterisked I'm sure there's a good reason for this, but I haven't been able to figure it out. Please enlighten me.
Sometimes its useful to call a method on a class other than the method indicated by the suffix of the method name and in that case one needs to call the method directly rather than via the generic. For an example, see: http://tolstoy.newcastle.edu.au/R/e2/help/07/01/9383.html
On 3/16/07, Henric Nilsson (Public) <nilsson.henric at gmail.com> wrote:
Hi, I've noted that not all `predict' methods are hidden in the namespace:
> methods("predict")
[1] predict.ar* predict.Arima* [3] predict.arima0* predict.glm [5] predict.HoltWinters* predict.lm [7] predict.loess* predict.mlm [9] predict.nls* predict.poly [11] predict.ppr* predict.prcomp* [13] predict.princomp* predict.smooth.spline* [15] predict.smooth.spline.fit* predict.StructTS* Non-visible functions are asterisked I'm sure there's a good reason for this, but I haven't been able to figure it out. Please enlighten me. Thanks! Henric
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel