Re: [R] Splitting a set of vectors in a list (Solved )

From: John Kane <jrkrideau_at_yahoo.ca>
Date: Fri, 14 Mar 2008 13:31:18 -0400 (EDT)

> From: Bert Gunter
>
> > ?"[" ?InternalMethods
> >
> > x[i,j] is just shorthand for "["(x,i,j) .
> (AFAIK)**All** operators
> > (+,-,...,subscripting,...) in R are functions,
> stemming from
> > its LISP-like
> > heritage, and can actually called by the usual
> functional
> > syntax, f(...),
> > instead of the operator syntax.
>
> That is true even for assignment:
>
> R> "<-"(junk, 1:3)
> R> junk
> [1] 1 2
Okay I think I've got this one but

> and "{":

>
> R> "{"(1, 2, 3)
this defeats me. I see what it is doing but I have not the slightest idea why .

I had a look at ?"{" and if I am understanding the example {2+3; 4+5} what is happening is that anything within the {} is being executed as separate statments but I have not the slightest idea of what is happening when "{"(1, 2, 3) returns 3.

The other thing is, is it worth trying to figure out what appears to be rather esotheric coding if I can do the same with more intuitively understood albeit clumsier code?

>
> I believe this is in the (draft) R Language
> Definition, part of the
> official manuals that shipped with R.
>
> Andy
>
> > Not sure where this is explicitly discussed within
> R's
> > documentation, but
> > you can find info on it in V&R's "S Programming",
> esp. p.24 and 4.3,
> > "Extracting or replacing coefficients".
> >
> > No doubt, other S/R books explain it also.
> >
> > Cheers,
> >
> > Bert Gunter
> > Genentech Nonclinical Statistics
> > 47374
> >
> >
> > -----Original Message-----
> > From: r-help-bounces_at_r-project.org
> > [mailto:r-help-bounces_at_r-project.org] On
> > Behalf Of John Kane
> > Sent: Thursday, March 13, 2008 11:53 AM
> > To: Henrique Dallazuanna
> > Cc: R R-help
> > Subject: Re: [R] Splitting a set of vectors in a
> list (Solved )
> >
> > My thanks to Henrique Dallazuanna and Phil
> Spector.
> > Both solutions worked well.
> > Phil suggested that an alterative to my function
> would
> > be
> > vect1 = sapply(mylist,'[[',1)
> > and I see that Henrique used `[` in his solution.
> >
> > Can you point me to some documentation that
> discusses
> > these usages. I have seen them before but I have
> never
> > actually figured out how to use them.?
> >
> > Thanks.
> >
> > Problem and solutions
> >
>



> > mylist <- list(aa=c("cat","peach" ), bb=c("dog",
> > "apple", "iron"),
> > cc = c("rabbit", "orange", "zinc",
> "silk"))
> > myfun <- function(dff) dff[1]
> > vect1 <- unlist(lapply(mylist, myfun))
> >
> > # Desired output
> > t(cbind( c("cat" , "peach" , NA, NA), bbb <-
> c("dog"
> > , "apple" ,"iron", NA),
> > ccb <- c("rabbit" ,"orange" ,"zinc" , "silk" )))
> >
> > # Phil Spector's approach
> > mlen = max(sapply(mylist,length))
> > eqlens = lapply(mylist,function(x)if(length(x) <
> mlen)
> >
> > c(x,rep('',mlen-length(x))) else x)
> > do.call(rbind,eqlens)
> >
> > # "Henrique Dallazuanna" <wwwhsd_at_gmail.com>
> > # I added the t()
> > t(as.data.frame(lapply(mylist, `[`,
> > 1:max(unlist(lapply(mylist,
> > length))))))
> >
> >
> > [[elided trailing spam]]
> >
> > ______________________________________________
> > R-help_at_r-project.org 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.
> >
> > ______________________________________________
> > R-help_at_r-project.org 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.
> >
> >
> >
>
>
>

> Notice: This e-mail message, together with any
> attachments, contains
> information of Merck & Co., Inc. (One Merck Drive,
> Whitehouse Station,
> New Jersey, USA 08889), and/or its affiliates (which
> may be known
> outside the United States as Merck Frosst, Merck
> Sharp & Dohme or MSD
> and in Japan, as Banyu - direct contact information
> for affiliates is
> available at
> http://www.merck.com/contact/contacts.html) that may
> be
> confidential, proprietary copyrighted and/or legally
> privileged. It is
> intended solely for the use of the individual or
> entity named on this
> message. If you are not the intended recipient, and
> have received this
> message in error, please notify us immediately by
> reply e-mail and then
> delete it from your system.
>
>

>

[[elided trailing spam]]



R-help_at_r-project.org 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. Received on Fri 14 Mar 2008 - 17:38:54 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 14 Mar 2008 - 18:30:22 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive