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)[1] <- "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
model frame
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
fails.
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.
Terry T.
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel