[R] storing element number of a list in a column data frame

Sarah Goslee sarah.goslee at gmail.com
Thu Oct 3 16:58:07 CEST 2013


Hi,

Something like this, maybe:
> mytest.df <- data.frame(i=seq_along(mytest)[!sapply(mytest, is.null)], n=unlist(mytest))
> mytest.df
  i  n
1 1 45
2 3 18
3 5 99

It took me a couple of tries, because I wasn't expecting unlist() to
drop the NULL values:

> unlist(mytest)
[1] 45 18 99

Sarah

On Thu, Oct 3, 2013 at 10:41 AM, Massimo Bressan
<mbressan at arpa.veneto.it> wrote:
> #let's suppose I have a list like this
>
> mytest<-list(45, NULL, 18, NULL, 99)
>
> #to note that this is just an amended example because in fact
>
> #I'm dealing with a long list (more than 400 elements)
>
> #with no evident pattern of the NULL values
>
> #I want to end up with a data frame like the following
>
> data.frame(i=c(1,3,5), n=c(45,18,99))
>
> #i.e. a data frame storing in
>
> #column i the number of corresponding element list
>
> #column n the unique component of that element
>
> #I've been trying with
>
> do.call(rbind, mytest)
>
> #or
>
> do.call(rbind.data.frame, mytest)
>
> #but this approach is not properly achieving the desired result
>
> #now I'm in trouble on how to store each element number of the list in
> the first column data frame
>
> #any help for this?
>
> #thanks
>
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.



-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list