[Rd] backquotes and term.labels
Therneau, Terry M., Ph.D.
therneau at mayo.edu
Mon Mar 5 21:55:30 CET 2018
A user reported a problem with the survdiff function and the use of variables that contain
a space. Here is a simple example. The same issue occurs in survfit for the same reason.
lung2 <- lung
names(lung2) <- "in st" # old name is inst
survdiff(Surv(time, status) ~ `in st`, data=lung2)
Error in `[.data.frame`(m, ll) : undefined columns selected
In the body of the code the program want to send all of the right-hand side variables
forward to the strata() function. The code looks more or less like this, where m is the
Terms <- terms(m)
index <- attr(Terms, "term.labels")
if (length(index) ==0) X <- rep(1L, n) # no coariates
else X <- strata(m[index])
For the variable with a space in the name the term.label is "`in st`", and the subscript
Is this intended behaviour or a bug? The issue is that the name of this column in the
model frame does not have the backtics, while the terms structure does have them.
More information about the R-devel