it needs a lappend function

lappend <- function(lst, obj) {
    lst[[length(lst)+1]] <- obj
    return(lst)
}



On Tue, Aug 5, 2014 at 10:59 PM, peter salzman <peter.salzmanu...@gmail.com>
wrote:

> 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
>



-- 
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