On Sun, 1 Aug 2010, Benjamin Ridenhour wrote:
Hello all, I'm sure I'm missing something simple here, but I can't figure out how to modify the glm.fit() function and then get R to use it (sort of). I'm doing something along the lines of:glm.fit<-edit(glm.fit) # add something trivial to the top of the glm.fit function like: print("Hello world!") #now have a modified glm.fit in position 1/.GlobalEnv x<-rnorm(20) y<-rnomr(20) glm(y~x) # I don't get the trivial bit of glm.fit back (i.e. "Hello world!" doesn't print) #but glm(y~x,method=glm.fit) # works! I get "Hello world!" My understanding is that glm() should call glm.fit() by default but it seems to be calling the glm.fit() in "package:stats" and not ".GlobalEnv". Why isn't the function in ".GlobalEnv" superseding the version in "package:stats"?
Because that is the way scoping works in R -- you need to understad the concept of name spaces.
This is not the way to do what you seem to want: rename your fitter function and use
method: the method to be used in fitting the model. The default method ‘"glm.fit"’ uses iteratively reweighted least squares (IWLS), whereas ‘"model.frame"’ which returns the model frame and does no fitting. User-supplied fitting functions can be supplied either as a function or a character string naming a function, with a function which takes the same arguments as ‘glm.fit’. to specify it.
Thanks, Ben
-- Brian D. Ripley, rip...@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
______________________________________________ R-help@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.