Could someone advise me about how to react to the message:
* checking R code for possible problems ... NOTE
slm: no visible binding for global variable 'response'
from R CMD check SparseM with
* using R version 2.6.0 Under development (unstable) (2007-09-03 r42749)
The offending code looks like this:
"slm" <-
function (formula, data, weights, na.action, method = "csr",
contrasts = NULL, ...)
{
call <- match.call()
m <- match.call(expand.dots = FALSE)
m$method <- m$model <- m$x <- m$y <- m$contrasts <- m$...
<- NULL
m[[1]] <- as.name("model.frame")
m <- eval(m, sys.frame(sys.parent()))
if (method == "model.frame")
return(m)
Terms <- attr(m, "terms")
weights <- model.extract(m, weights)
Y <- model.extract(m, response)
X <- as.matrix.csr(model.matrix(Terms, m, contrasts))
fit <- {
if (length(weights))
slm.wfit(X, Y, weights, method, ...)
else slm.fit(X, Y, method, ...)
}
fit$terms <- Terms
fit$call <- call
attr(fit, "na.message") <- attr(m, "na.message")
class(fit) <- c(if (is.matrix(Y)) "mslm", "slm")
fit
}
url: www.econ.uiuc.edu/~roger Roger Koenker
email rkoenker at uiuc.edu Department of Economics
vox: 217-333-4558 University of Illinois
fax: 217-244-6678 Champaign, IL 61820
Dear Roger, simply use quotes as in: model.extract(m, "response") Best, Uwe roger koenker wrote:> Could someone advise me about how to react to the message: > > * checking R code for possible problems ... NOTE > slm: no visible binding for global variable 'response' > > from R CMD check SparseM with > * using R version 2.6.0 Under development (unstable) (2007-09-03 r42749) > > The offending code looks like this: > > "slm" <- > function (formula, data, weights, na.action, method = "csr", > contrasts = NULL, ...) > { > call <- match.call() > m <- match.call(expand.dots = FALSE) > m$method <- m$model <- m$x <- m$y <- m$contrasts <- m$... <- NULL > m[[1]] <- as.name("model.frame") > m <- eval(m, sys.frame(sys.parent())) > if (method == "model.frame") > return(m) > Terms <- attr(m, "terms") > weights <- model.extract(m, weights) > Y <- model.extract(m, response) > X <- as.matrix.csr(model.matrix(Terms, m, contrasts)) > fit <- { > if (length(weights)) > slm.wfit(X, Y, weights, method, ...) > else slm.fit(X, Y, method, ...) > } > fit$terms <- Terms > fit$call <- call > attr(fit, "na.message") <- attr(m, "na.message") > class(fit) <- c(if (is.matrix(Y)) "mslm", "slm") > fit > } > > > url: www.econ.uiuc.edu/~roger Roger Koenker > email rkoenker at uiuc.edu Department of Economics > vox: 217-333-4558 University of Illinois > fax: 217-244-6678 Champaign, IL 61820 > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel
On Fri, 12 Oct 2007, roger koenker wrote:> Could someone advise me about how to react to the message: > > * checking R code for possible problems ... NOTE > slm: no visible binding for global variable 'response' > > from R CMD check SparseM with > * using R version 2.6.0 Under development (unstable) (2007-09-03 r42749) > > The offending code looks like this: > > "slm" <- > function (formula, data, weights, na.action, method = "csr", > contrasts = NULL, ...) > { > call <- match.call() > m <- match.call(expand.dots = FALSE) > m$method <- m$model <- m$x <- m$y <- m$contrasts <- m$... <- NULL > m[[1]] <- as.name("model.frame") > m <- eval(m, sys.frame(sys.parent())) > if (method == "model.frame") > return(m) > Terms <- attr(m, "terms") > weights <- model.extract(m, weights) > Y <- model.extract(m, response)^^^^^^^^ which becomes:> as.character(substitute(response))[1] "response" inside model.extract. I'm not sure why codetools doesn't pick up weights in the same context one line earlier, probably because weights is also assigned to. Hope this helps, Roger> X <- as.matrix.csr(model.matrix(Terms, m, contrasts)) > fit <- { > if (length(weights)) > slm.wfit(X, Y, weights, method, ...) > else slm.fit(X, Y, method, ...) > } > fit$terms <- Terms > fit$call <- call > attr(fit, "na.message") <- attr(m, "na.message") > class(fit) <- c(if (is.matrix(Y)) "mslm", "slm") > fit > } > > > url: www.econ.uiuc.edu/~roger Roger Koenker > email rkoenker at uiuc.edu Department of Economics > vox: 217-333-4558 University of Illinois > fax: 217-244-6678 Champaign, IL 61820 > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >-- Roger Bivand Economic Geography Section, Department of Economics, Norwegian School of Economics and Business Administration, Helleveien 30, N-5045 Bergen, Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43 e-mail: Roger.Bivand at nhh.no
roger koenker wrote:> Could someone advise me about how to react to the message: >I'd try putting quotes in model.extract(m, "response") (and also in model.extract(m, "weights") even though you're not seeing the complaint on that one).> * checking R code for possible problems ... NOTE > slm: no visible binding for global variable 'response' > > from R CMD check SparseM with > * using R version 2.6.0 Under development (unstable) (2007-09-03 r42749) > > The offending code looks like this: > > "slm" <- > function (formula, data, weights, na.action, method = "csr", > contrasts = NULL, ...) > { > call <- match.call() > m <- match.call(expand.dots = FALSE) > m$method <- m$model <- m$x <- m$y <- m$contrasts <- m$... <- NULL > m[[1]] <- as.name("model.frame") > m <- eval(m, sys.frame(sys.parent())) > if (method == "model.frame") > return(m) > Terms <- attr(m, "terms") > weights <- model.extract(m, weights) > Y <- model.extract(m, response) > X <- as.matrix.csr(model.matrix(Terms, m, contrasts)) > fit <- { > if (length(weights)) > slm.wfit(X, Y, weights, method, ...) > else slm.fit(X, Y, method, ...) > } > fit$terms <- Terms > fit$call <- call > attr(fit, "na.message") <- attr(m, "na.message") > class(fit) <- c(if (is.matrix(Y)) "mslm", "slm") > fit > } > > > url: www.econ.uiuc.edu/~roger Roger Koenker > email rkoenker at uiuc.edu Department of Economics > vox: 217-333-4558 University of Illinois > fax: 217-244-6678 Champaign, IL 61820 > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >-- O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907