[R] Contingency table and zeros

Dimitris Rizopoulos dimitris.rizopoulos at med.kuleuven.be
Mon Mar 6 11:32:51 CET 2006


I think ecdf() is more appropriate than table() here, e.g.,

x <- c(1, 2, 3, 2, 1, 3, 5)
Fn <- ecdf(x)
Fn(1:5) * length(x)


I hope it helps.

Best,
Dimitris

----
Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://www.med.kuleuven.be/biostat/
     http://www.student.kuleuven.be/~m0390867/dimitris.htm


----- Original Message ----- 
From: "Nicolas Perot" <np at alambic.org>
To: <r-help at stat.math.ethz.ch>
Sent: Monday, March 06, 2006 10:56 AM
Subject: [R] Contingency table and zeros


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


Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm




More information about the R-help mailing list