The "tsdiag" function in the TSA package overrides the "tsdiag" function in the "stats" package. There are a few annoying bugs in the TSA's version of the function so I would like to use the "stats" function but still have access to other TSA functions. I have tried using stats::tsdiag( ) but as long as the TSA package is attached the function from the "TSA" package is called. I believe the problem is the result of the TSA package not having a "namespace". The only solution I have found is to detach the TSA package, (detach("package:TSA")) , which results in the loss of all the TSA specific functions. Does anyone have another solution? The following code illustrates the problem: Y1<-arima.sim(n=100,list(ar=c(.95,-0.2))) model1<-arima(Y1,order=c(2,0,0)) tsdiag(model1) library(TSA) tsdiag(model1) stats::tsdiag(model1) detach("package:TSA") tsdiag(model1) R Saba
Have you tried using the pos argument in the library function to load the TSA package after the stats package? -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare greg.snow at imail.org 801.408.8111> -----Original Message----- > From: r-help-bounces at r-project.org [mailto:r-help-bounces at r- > project.org] On Behalf Of Richard Saba > Sent: Thursday, March 05, 2009 9:52 AM > To: r-help at r-project.org > Subject: [R] Overriding contributed package functions > > The "tsdiag" function in the TSA package overrides the "tsdiag" > function in > the "stats" package. There are a few annoying bugs in the TSA's version > of > the function so I would like to use the "stats" function but still have > access to other TSA functions. I have tried using stats::tsdiag( ) > but as > long as the TSA package is attached the function from the "TSA" package > is > called. I believe the problem is the result of the TSA package not > having a > "namespace". The only solution I have found is to detach the TSA > package, > (detach("package:TSA")) , which results in the loss of all the TSA > specific > functions. Does anyone have another solution? > The following code illustrates the problem: > > Y1<-arima.sim(n=100,list(ar=c(.95,-0.2))) > model1<-arima(Y1,order=c(2,0,0)) > tsdiag(model1) > library(TSA) > tsdiag(model1) > stats::tsdiag(model1) > detach("package:TSA") > tsdiag(model1) > > R Saba > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting- > guide.html > and provide commented, minimal, self-contained, reproducible code.
The problem is that tsdiag is a generic (the same in both packages), and package TSA sets methods for it (and methods for classes in package stats which has already registered methods).> stats:::tsdiag.Arima(model1)ought to work (it does for me in your example), but please take with up with the maintainer of package TSA. (I would be inclined to copy out of package TSA the parts your want and not load the rest.) On Thu, 5 Mar 2009, Richard Saba wrote:> The "tsdiag" function in the TSA package overrides the "tsdiag" function in > the "stats" package. There are a few annoying bugs in the TSA's version of > the function so I would like to use the "stats" function but still have > access to other TSA functions. I have tried using stats::tsdiag( ) but as > long as the TSA package is attached the function from the "TSA" package is > called. I believe the problem is the result of the TSA package not having a > "namespace". The only solution I have found is to detach the TSA package, > (detach("package:TSA")) , which results in the loss of all the TSA specific > functions. Does anyone have another solution? > The following code illustrates the problem: > > Y1<-arima.sim(n=100,list(ar=c(.95,-0.2))) > model1<-arima(Y1,order=c(2,0,0)) > tsdiag(model1) > library(TSA) > tsdiag(model1) > stats::tsdiag(model1) > detach("package:TSA") > tsdiag(model1) > > R Saba > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >-- 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