hi,

this may be overkill but i have a general function that tabulates lists of
anything. it works on vectors as in your example.

the input is  a list and the output is a list with 2 elements 1) list of
unique values and 2) a matching vector of counts. to that out[[1]][[k]]
occurs out[[2]][k] times.

a warning: it runs through the list one by one so for long lists it may
take a long time

cheers,
peter

table.list <- function(my.list) {
  n.elements <- length(my.list)
  elements.counted <- rep(0,n.elements)

  val.now <- my.list[[1]]
  elements.now <- sapply(my.list,function(x) {identical(val.now,x)})
  hist.val <- list(NULL,val.now)
  hist.count <- c(0,sum(elements.now))
  elements.counted <- elements.counted + elements.now
  n.elements.counted <- sum(elements.counted)

  while( n.elements.counted < n.elements) {
    ind.now <- min(which(elements.counted == 0))
    val.now <- my.list[[ind.now]]
    elements.now <- sapply(my.list,function(x) {identical(val.now,x)})
    hist.count <- c(hist.count,sum(elements.now))
    hist.val <- lappend(hist.val,val.now)
    elements.counted <- elements.counted + elements.now
    n.elements.counted <- sum(elements.counted)
  }
  hist.val[[1]] <- NULL
  hist.count <- hist.count[-1]
  return(list(hist.val,hist.count))

} ## function



On Tue, Aug 5, 2014 at 1:39 PM, Marie-Pierre Sylvestre <
mp.sylves...@gmail.com> wrote:

> Dear R users,
>
> I have a list of vectors (list is called HTNlist). Each vector is of length
> 1 to 4 and takes only 0 and 1 as values. E.g.
>
> head(HTNlist)
> $`30008`
> [1] 1 0 1 0
>
> $`60008`
> [1] 0 0 1 0
>
> $`90008`
> [1] 0 0 1 0
>
> $`100007`
> [1] 1
>
> $`130001`
> [1] 0 1
>
> $`130007`
> [1] 1 0 1 0
>
> I would like to obtain a frequency table for the elements of the list. I
> want to know how many of
> '1 0 0' I have in the list, how many '1 0 1 0' etc.
>
> Can you please help?
>
> Thank you in advance,
> MP
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@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.
>



-- 
Peter Salzman, PhD
Department of Biostatistics and Computational Biology
University of Rochester

        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to