code I had written and was surprised to see one test
fail because the "specials" attribute of the output of
terms() is a "pairlist" instead of a "list". In 2.12.0
I get:
dput(attr(terms(y~Spec(x1)+x2, specials=c("Spec")), "specials"))
list(Spec = 2L)
all.equal(attr(terms(y~Spec(x1)+x2, specials=c("Spec")),
"specials"), list(Spec=2L))list(Spec = 2L)
all.equal(attr(terms(y~Spec(x1)+x2, specials=c("Spec")),
[1] "Modes: pairlist, list"
all.equal(attr(terms(y~Spec(x1)+x2, specials=c("Spec")),
"specials"), pairlist(Spec=2L))[1] TRUE
identical(attr(terms(y~Spec(x1)+x2, specials=c("Spec")),
"specials"), pairlist(Spec=2L))[1] TRUE
I was wondering if there was a reason for using pairlist
instead of list here or it it was just an historical
artifact. In general, when should one use pairlists?
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com