On Oct 1, 2007, at 10:28 PM, [EMAIL PROTECTED] wrote: > ?pairlist gives no explanation about what exactly is the difference > between a pairlist and a list (except that a pairlist of length 0 > is 'NULL'). So, what's a pairlist? >
I read "traditional _dotted pair_ lists (as in LISP)" there - c.f. also http://cran.r-project.org/doc/manuals/R-lang.html#Pairlist-objects > class(.Options) > [1] "pairlist" > > Some strange things about the "pairlist" type: > >> showClass("pairlist") > Error in getClass(Class) : "pairlist" is not a defined class > > Why the above doesn't work? Because "pairlist" is not a formal class. Why should it? > It works for "list": > >> showClass("list") > > No Slots, prototype of class "list" > > Extends: "vector" > >> is.list(.Options) > [1] TRUE > >> is.vector(.Options) > [1] FALSE > > This doesn't make sense! If 'x' is a list, then it should be > considered a vector too. > Why? They are completely different objects. lists are generic vectors, pairlists are not vectors (c.f. the docs above). > Subsetting a pairlist with [] doesn't produce a pairlist: > >> class(.Options[1:3]) > [1] "list" > > Yes, this one is documented, but still... > As the docs say, on R level pairlists are usually converted to vectors as the use of pairlists is deprecated. Cheers, Simon ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel