On Mon, 6 Dec 2010, William Dunlap wrote:

I was writing some assertion tests for modelling-related
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))
[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?
Probably never directly. But indirectly, a lot as for example
argument lists are pairlists.

Looking at the code, I think this one is simply history. For
completeness I will correct ?terms.object.

Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595

Search Discussions

Discussion Posts


Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 2 of 2 | next ›
Discussion Overview
groupr-devel @
postedDec 6, '10 at 6:03p
activeDec 6, '10 at 7:49p



site design / logo © 2022 Grokbase