Skip to content
Prev 13521 / 63424 Next

model.matrix.default chokes on backquote (PR#7202)

Full_Name: Gabor Grothendieck
Version: R version 1.9.1, 2004-08-03
OS: Windows XP
Submission from: (NULL) (207.35.143.52)



The following gives an error:

	> `a(b)` <- 1:4
	> `c(d)` <- (1:4)^2
	> lm(`a(b)` ~ `c(d)`)
	Error in model.matrix.default(mt, mf, contrasts) : 
        	model frame and formula mismatch in model.matrix()

To fix it replace this line in model.matrix.default:

	reorder <- match(attr(t, "variables")[-1], names(data))

with these two lines:

	strip.backquote <- function(x) gsub("^`(.*)`", "\\1", x)
	reorder <- match(strip.backquote(attr(t, "variables"))[-1], 
			strip.backquote(names(data)))