>From c()'s Help docs: "The default method combines its arguments to form a vector. .... The output type is determined from the highest type of the components in the hierarchy NULL < raw < logical < integer < real < complex < character < list < expression. "
Perhaps this could be clearer, but I read this as saying that if M is a matrix, c(M) should give a vector of type that of the type of M. Peter D's idiom is perhaps too clever or arcane, but nevertheless documented. As usual, Brian Ripley's comment is pertinent: as.vector() makes the silent coercion explicit. Bert Gunter Nonclinical Statistics 7-7374 -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 14, 2006 4:18 PM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [email protected] Subject: Re: [R] the secret (?) language of lists Berton Gunter wrote: > - c() removes attributes > > ** Documented in c()'s Help file ***REALLY*** ??? Where? The only use of the word ``attribute'' in the help file is in ``See Also: 'unlist' and 'as.vector' to produce attribute-free vectors.'' Unless you already knew the fact that when m is a matrix c(m) gives a vector strung out in column order, you'd be very unlikely to discern that fact from the help file for c(). The only hint is that the output is described as being a vector. This is not exactly spoon-feeding the user. (Especially in view of the fact that a matrix ***is*** a vector --- with a dim attribute. Or so you keep telling us.) The help file talks about catenation (which is the essential role of c()) and expounds at length about the type of the result. The user is going to think in terms of c(v1,v2,v3), usw, where v1, v2 and v3 are ``genuine'' vectors''; it would never occur to him or her to apply c() to a matrix. There is no way on God's green earth that even the most diligent of neophytes is going to work out that c() has the effect on matrices that it does. EVEN IF the poor neophyte is so sophisticated as to have absorbed the idea that a matrix is a vector with a dim attribute. Which is perhaps a neat trick in designing data structures but is not, to put it mildly, intuitive. All too often it is useful to RTFM only if you already know the answer to your question. cheers, Rolf Turner [EMAIL PROTECTED] ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
