Count occurrences of factor in R, with zero counts reported
You get this for free if you define your events
variable correctly as a factor with the desired three levels:
R> events <- data.frame(type = factor(c('A', 'A', 'B'), c('A','B','C')),
+ quantity = c(1, 2, 1))
R> events
type quantity
1 A 1
2 A 2
3 B 1
R> table(events$type)
A B C
2 1 0
R>
Simply calling table()
on the factor already does the right thing, and ddply()
can too
if you tell it not to drop
:
R> ddply(events, .(type), summarise, quantity = sum(quantity), .drop=FALSE)
type quantity
1 A 3
2 B 1
3 C 0
R>
> xtabs(quantity~type, events)
type
A B C
3 1 0