colSums {base} | R Documentation |
Form row and column sums and means for numeric arrays.
colSums (x, na.rm = FALSE, dims = 1) rowSums (x, na.rm = FALSE, dims = 1) colMeans(x, na.rm = FALSE, dims = 1) rowMeans(x, na.rm = FALSE, dims = 1)
x |
an array of two or more dimensions, containing numeric, complex, integer or logical values, or a numeric data frame. |
na.rm |
logical. Should missing values (including NaN )
be omitted from the calculations? |
dims |
Which dimensions are regarded as “rows” or
“columns” to sum over. For row* , the sum or mean is
over dimensions dims+1, ... ; for col* it is over
dimensions 1:dims . |
These functions are equivalent to use of apply
with
FUN = mean
or FUN = sum
with appropriate margins, but
are a lot faster. As they are written for speed, they blur over some
of the subtleties of NaN
and NA
. If na.rm =
FALSE
and either NaN
or NA
appears in a sum, the
result will be one of NaN
or NA
, but which might be
platform-dependent.
A numeric or complex array of suitable size, or a vector if the result is
one-dimensional. The dimnames
(or names
for a vector
result) are taken from the original array.
If there are no values in a range to be summed over (after removing
missing values with na.rm = TRUE
), that
component of the output is set to 0
(*Sums
) or NA
(*Means
), consistent with sum
and
mean
.
## Compute row and column sums for a matrix: x <- cbind(x1 = 3, x2 = c(4:1, 2:5)) rowSums(x); colSums(x) dimnames(x)[[1]] <- letters[1:8] rowSums(x); colSums(x); rowMeans(x); colMeans(x) x[] <- as.integer(x) rowSums(x); colSums(x) x[] <- x < 3 rowSums(x); colSums(x) x <- cbind(x1 = 3, x2 = c(4:1, 2:5)) x[3, ] <- NA; x[4, 2] <- NA rowSums(x); colSums(x); rowMeans(x); colMeans(x) rowSums(x, na.rm = TRUE); colSums(x, na.rm = TRUE) rowMeans(x, na.rm = TRUE); colMeans(x, na.rm = TRUE) ## an array dim(UCBAdmissions) rowSums(UCBAdmissions); rowSums(UCBAdmissions, dims = 2) colSums(UCBAdmissions); colSums(UCBAdmissions, dims = 2) ## complex case x <- cbind(x1 = 3 + 2i, x2 = c(4:1, 2:5) - 5i) x[3, ] <- NA; x[4, 2] <- NA rowSums(x); colSums(x); rowMeans(x); colMeans(x) rowSums(x, na.rm = TRUE); colSums(x, na.rm = TRUE) rowMeans(x, na.rm = TRUE); colMeans(x, na.rm = TRUE)