Re: [Rd] x[1,], x[1,,], x[1,,,], ...

From: Gabor Grothendieck <ggrothendieck_at_gmail.com>
Date: Tue 29 Nov 2005 - 15:17:47 GMT

I couldn't find it:

> library(magic)
> apltake

On 11/29/05, Robin Hankin <r.hankin@noc.soton.ac.uk> wrote:
> Hi everyone
>
>
> apltake(x,1)
>
> [where apltake() is part of library(magic)]
>
> does this.
>
> best wishes
>
> Robin
>
>
>
>
> On 23 Nov 2005, at 10:50, Henrik Bengtsson wrote:
>
> > Hi,
> >
> > is there a function in R already doing what I try to do below:
> >
> > # Let 'x' be an array with *any* number of dimensions (>=1).
> > x <- array(1:24, dim=c(2,2,3,2))
> > ...
> > x <- array(1:24, dim=c(4,3,2))
> >
> > i <- 2:3
> >
> > ndim <- length(dim(x))
> > if (ndim == 1)
> > y <- x[i]
> > else if (ndim == 2)
> > y <- x[i,]
> > else if (ndim == 3)
> > y <- x[i,,]
> > else ...
> >
> > and so on. My current solution is
> >
> > ndim <- length(dim(x))
> > args <- rep(",", ndim)
> > args[1] <- "i"
> > args <- paste(args, collapse="")
> > code <- paste("x[", args, "]", sep="")
> > expr <- parse(text=code)
> > y <- eval(expr)
> >
> > ndim <- length(dim(x))
> > args <- rep(",", ndim)
> > args[1] <- "i"
> > args <- paste(args, collapse="")
> > code <- paste("x[", args, "]", sep="")
> > expr <- parse(text=code)
> > y <- eval(expr)
> >
> > Is there another way I can do this in R that I have overlooked?
> >
> > /Henrik
> >
> > ______________________________________________
> > R-devel@r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
>
> --
> Robin Hankin
> Uncertainty Analyst
> National Oceanography Centre, Southampton
> European Way, Southampton SO14 3ZH, UK
> tel 023-8059-7743
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Wed Nov 30 02:24:49 2005

This archive was generated by hypermail 2.1.8 : Mon 20 Feb 2006 - 03:21:34 GMT