[R] Dynamic string as element name in a list

Henrique Dallazuanna wwwhsd at gmail.com
Thu Mar 27 17:29:25 CET 2008


But, your lapply is:

lapply(x$clipno, function(c){
                        clipname <- x$clipname
                        out[[clipname]] <- rnorm(5)
 })

So, you don't use 'c' argument.

On 27/03/2008, Paul Lemmens <paul.lemmens at gmail.com> wrote:
> Hi,
>
>  Sorry yes, I forgot to give comment about the lapply().
>
>
>  >  >  foo <- function(x) {
>  >  >  out <- list()
>  >  >  lapply(x$clipno, function(c) {
>  >  >   clipname <- x$clipname
>  >  >   # stuff
>  >  >
>  >  >   out[[clipname]] <- rnorm(5)
>  >  >  })
>  >  >  return(out)
>  >  >  }
>  >  >
>
>
> So x is a dataframe with the data from one subject that has viewed
>  multiple clips in two variations. x contains both the responses as
>  well as info about the clips in factors and responses in integers. So
>  for each clip (using function(c) call in lapply() to be able to
>  access/subset data from x), I extract the name and other info (using
>  c), store that info in a list element named after the clip. Finally
>  return the full list of clips with associated data.
>
>  Mvg,
>
> Paul
>
>
>
>  On Thu, Mar 27, 2008 at 3:23 PM, Henrique Dallazuanna <wwwhsd at gmail.com> wrote:
>  > HI,
>  >
>  >  I don't understand why you're using lapply.
>  >
>  >  Please provide a example of your 'x' data.frame
>  >
>  >  str(x)
>  >
>  >
>  >  On 27/03/2008, Paul Lemmens <paul.lemmens at gmail.com> wrote:
>  >
>  >
>  > > Hi Henrique,
>  >  >
>  >  >
>  >  >  On Thu, Mar 27, 2008 at 2:52 PM, Henrique Dallazuanna <wwwhsd at gmail.com> wrote:
>  >  >  > Try this:
>  >  >  >
>  >  >  >  foo <- function(x)
>  >  >  >  {
>  >  >  >  clipname <- "LK"
>  >  >  >  out <- list()
>  >  >  >  out[[clipname]] <- rnorm(5)
>  >  >  >  return(out)
>  >  >  > }
>  >  >
>  >  > That easy ... Hadn't thought of it.  But now I have a refinement in foo()
>  >  >
>  >  >  foo <- function(x) {
>  >  >  out <- list()
>  >  >  lapply(x$clipno, function(c) {
>  >  >   clipname <- x$clipname
>  >  >   # stuff
>  >  >
>  >  >   out[[clipname]] <- rnorm(5)
>  >  >  })
>  >  >  return(out)
>  >  >  }
>  >  >
>  >  >
>  >  > But this returns the/an empty list?
>  >  >
>  >  >
>  >  >  Best regards,
>  >  >
>  >  > Paul Lemmens
>  >  >
>  >
>  >
>  > >  ______________________________________________
>  >  >  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.
>  >  >
>  >
>  >
>  >  --
>  >  Henrique Dallazuanna
>  >  Curitiba-Paraná-Brasil
>  >  25° 25' 40" S 49° 16' 22" O
>  >
>


-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O



More information about the R-help mailing list