Let\'s say I have a matrix called x.
x <- structure(c(1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1),
.Dim = c(5L, 4L), .Dimname
An approach using plyr:
ldply(split(df, df$Name), function(u) colSums(u[-1]))
# .id Mon Tue Wed Thurs
#1 Cake 2 1 1 2
#2 Pie 0 0 3 3
Data:
df = structure(list(Name = structure(c(1L, 2L, 1L, 2L, 2L), .Label = c("Cake",
"Pie"), class = "factor"), Mon = c(1L, 0L, 1L, 0L, 0L), Tue = c(0L,
0L, 1L, 0L, 0L), Wed = c(1L, 1L, 0L, 1L, 1L), Thurs = c(1L, 1L,
1L, 1L, 1L)), .Names = c("Name", "Mon", "Tue", "Wed", "Thurs"
), row.names = c(NA, -5L), class = "data.frame")