rowsum {base} | R Documentation |
Compute sums across rows of a matrix for each level of a grouping variable.
rowsum(x, group, reorder = TRUE)
x |
a matrix or vector of numeric data. Missing values are allowed. |
group |
a vector giving the grouping, with one element per row of
|
reorder |
if |
a matrix containing the sums. There will be one row per unique value
of group
.
Terry Therneau
tapply
, rowSums
x <- matrix(runif(100), ncol=5)
group <- sample(1:8, 20, TRUE)
xsum <- rowsum(x, group)
## same result another way, slower, and temp may be much larger than x
temp <- model.matrix(~ a - 1, data.frame(a=as.factor(group)))
xsum2<- t(temp) %*% x
## same as last one, but really slow
xsum3 <- tapply(x, list(group[row(x)], col(x)), sum)