[Rd] Possible bug in termplot function (stats package) ?

From: Joris Meys <jorismeys_at_gmail.com>
Date: Mon, 06 Jun 2011 17:15:05 +0200

Hi all,

I noticed some very odd behaviour in the termplot function of the stats package due to the following lines :

  1. if (is.null(data))
  2. data <- eval(model$call$data, envir)

This one will look in the global environment, and renders the two lines after this

20. if (is.null(data))
21. data <- mf

completely obsolete. If nothing is found, an error is returned. If anything is found, data won't be NULL, so line 20, when reached, will always return FALSE. Can it be that lines 18 and 19 should be removed from the function?

This gives especially problems when called from other plot functions on models made with wrapper functions. One example :

Data <- data.frame(
form <- as.formula(y~x1+x2)
test <- lm(form, data=Data)

wrapper <- function(ff,x){
 tt <- lm(ff,data=x)
test2 <- wrapper(form,Data)

For the non-smooth terms, termplot is called. In the first example, this works perfectly well. In the second example, it either returns "x not found" (when there is no x variable in the global) or "x2 not found" when there is an x variable.

If both lines mentioned earlier are erased from the function, it works as expected in this example code. Using the model frame seems the logic choice here, I have no clue why one would want to look in the global environment for the data related to a model.


Joris Meys
Statistical consultant

Ghent University
Faculty of Bioscience Engineering
Department of Applied mathematics, biometrics and process control

tel : +32 9 264 59 87
Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php

R-devel_at_r-project.org mailing list
Received on Mon 06 Jun 2011 - 15:34:06 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 06 Jun 2011 - 16:40:16 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive