[R] Keeping factors with zero occurrences in "table" output

Wiener, Matthew matthew_wiener at merck.com
Wed Apr 20 18:15:34 CEST 2005


Ravi --

If you use table on a factor, you'll get 0's if appropriate:

> table(sample(1:5, 10, replace = TRUE))  #no 2's, by chance

1 3 4 5 
3 1 2 4 

> table(sample(1:5, 20, replace = TRUE))  # no 6's here, so 6 doesn't show
up

1 2 3 4 5 
3 5 2 5 5 

## now make it a factor, and you get 0 3's and 0 6's 
> table(factor(sample(1:5, 20, replace = TRUE), levels = 1:6))

 1  2  3  4  5  6 
 5  4  0  1 10  0 

## just happened to get no 3's in previous sample; it doesn't happen every
time:
> table(factor(sample(1:5, 20, replace = TRUE), levels = 1:6))

1 2 3 4 5 6 
7 3 3 5 2 0 


You can probably create the factor you want with "interaction" on
participants and ranks.

Hope this helps,

Matt Wiener

-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Ravi Varadhan
Sent: Wednesday, April 20, 2005 11:38 AM
To: r-help at stat.math.ethz.ch
Subject: [R] Keeping factors with zero occurrences in "table" output


Dear R group,

 

I have a data frame which contains data on preferences on 7 items (ranks 1
through 7) listed by each participant.  I would like to tabulate this in a
7x7 table where the rows would be the items and the columns would be the
number of times that item received a particular rank.  

 

I tried doing this by creating a matrix by "rbind"ing each vector obtained
using "table" on each item.  This, however, does not work because there are
some items which didn't receive some of the ranks, so "table" does not list
that item.  Is there a way to force it to list the item and give a "0" to
it? Or, is there a simpler way to solve this problem?

 

Thanks for any help,

Ravi.

 

--------------------------------------------------------------------------

Ravi Varadhan, Ph.D.

Assistant Professor,  The Center on Aging and Health

Division of Geriatric Medicine and Gerontology

Johns Hopkins University

Ph: (410) 502-2619

Fax: (410) 614-9625

Email:   <mailto:rvaradhan at jhmi.edu> rvaradhan at jhmi.edu

--------------------------------------------------------------------------

 


	[[alternative HTML version deleted]]

______________________________________________
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




More information about the R-help mailing list