[R] Contingency table and zeros

Stéphane Dray dray at biomserv.univ-lyon1.fr
Mon Mar 6 11:32:30 CET 2006


something like:

 cumsum(table(factor(myvector,levels=1:5)))

will do the job.


Nicolas Perot wrote:

>Hello,
>
>Let's assume I have a vector of integers :
> > myvector <-  c(1, 2, 3, 2, 1, 3, 5)
>
>My purpose is to obtain the cumulative distribution of these numerical 
>data, i.e. something like :
>
>value	nb_occur.
><=1    2
><=2    4
><=3    6
><=4    6
><=5    7
>
>For this, I create a table with ;
> > mytable <- table(myvector)
>
>1 2 3 5
>2 2 2 1
>
>However, table() returns an array of integers, mytable[4] returns the 
>occurence number of the "5" item, which makes this table hard to index.
>I would prefer to have a data structure where mytable[4] could return 0, 
>as there is no "4" in my vector.
>
>table() may not be the proper way to do it.
>
>For the moment, I use a loop which scans the vector from its lowest 
>value to its highest, and counts the number of times each value appears.
>
>Is there a built-in function, or a table() option to do such a task ?
>
>Thanks.
>
>Regards,
>Nicolas
>
>______________________________________________
>R-help at stat.math.ethz.ch mailing list
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>
>
>  
>


-- 
Stéphane DRAY (dray at biomserv.univ-lyon1.fr )
Laboratoire BBE-CNRS-UMR-5558, Univ. C. Bernard - Lyon I
43, Bd du 11 Novembre 1918, 69622 Villeurbanne Cedex, France
Tel: 33 4 72 43 27 57       Fax: 33 4 72 43 13 88
http://www.steph280.freesurf.fr/




More information about the R-help mailing list