Include levels of zero count in result of table()

Christopher DuBois picture Christopher DuBois · Oct 24, 2009 · Viewed 16.6k times · Source

I have a vector 'y' and I count the different values using table:

y <- c(0, 0, 1, 3, 4, 4)
table(y)
# y
# 0 1 3 4 
# 2 1 1 2 

However, I also want the result to include the fact that there are zero 2's and zero 5's. Can I use table() for this?

Desired result:

# y
# 0 1 2 3 4 5 
# 2 1 0 1 2 0

Answer

rcs picture rcs · Oct 24, 2009

Convert your variable to a factor, and set the categories you wish to include in the result using levels. Values with a count of zero will then also appear in the result:

y <- c(0, 0, 1, 3, 4, 4)
table(factor(y, levels = 0:5))
# 0 1 2 3 4 5 
# 2 1 0 1 2 0