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   [EMAIL PROTECTED]       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

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-devel

Reply via email to