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" <[EMAIL PROTECTED]> To: <[email protected]> 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 > > ______________________________________________ > [email protected] 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 ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
