This is a suggestion to modify the behavior of [.terms in base so that behaves
as in
library(survival). In my 1.7.0 (which is admittedly a couple of weeks old):
> tt <- terms(y~qss(x)+qss(z)+w,specials="qss")
> tt
y ~ qss(x) + qss(z) + w
attr(,"variables")
list(y, qss(x), qss(z), w)
attr(,"factors")
qss(x) qss(z) w
y 0 0 0
qss(x) 1 0 0
qss(z) 0 1 0
w 0 0 1
attr(,"term.labels")
[1] "qss(x)" "qss(z)" "w"
attr(,"specials")
attr(,"specials")$qss
[1] 2 3
attr(,"order")
[1] 1 1 1
attr(,"intercept")
[1] 1
attr(,"response")
[1] 1
attr(,".Environment")
<environment: R_GlobalEnv>
With survival loaded you can do something like the following:
> tmpc <- untangle.specials(tt,"qss")
> tmpc
$vars
[1] "qss(x)" "qss(z)"
$terms
[1] 1 2
> tt[-tmpc$terms]
y ~ w
attr(,"variables")
list(y, w)
attr(,"factors")
w
y 0
w 1
attr(,"term.labels")
[1] "w"
attr(,"specials")
attr(,"specials")$qss
NULL
attr(,"order")
[1] 1
attr(,"intercept")
[1] 1
attr(,"response")
[1] 1
attr(,".Environment")
<environment: R_GlobalEnv>
This is rather handy for preprocessing additive nonparametric components of the
formula
for example. Without survival loaded [ operates on the formula not the terms
object to
a much less satisfactory effect.
Thanks to Thomas Lumley for pointing out to me that survival had this
capability...
url www.econ.uiuc.edu Roger Koenker Dept. of Economics UCL,
email rkoenker@uiuc.edu Department of Economics Drayton House,
vox: 217-333-4558 University of Illinois 30 Gorden St,
fax: 217-244-6678 Champaign, IL 61820 London,WC1H 0AX, UK
vox: 020-7679-5838