sum cells of certain columns for each row
I would like to calculate sums for certain columns and then apply this summation for every row. Unfortunately, I can only get to the first step. How do I now make it happen for each row? I know that R doesn't need loops; what are good approaches?
My matrix (zscore) looks like this:
a b c t y
1 3 4 7 7 4
2 4 56 6 6 4
3 3 3 2 1 7
4 3 88 9 9 9
Now I would want to calculate the row sum for each row, based on some of the columns. For one row it could look like this:
f1 <- sum(zscore[1,1:2], zscore[1,3], zscore[1,5])
How do I do that now for each row?
You could do something like this:
summed <- rowSums(zscore[, c(1, 2, 3, 5)])
The summation of all individual rows can also be done using the row-wise operations of dplyr (with col1, col2, col3
defining three selected columns for which the row-wise sum is calculated):
library(tidyverse)
df <- df %>%
rowwise() %>%
mutate(rowsum = sum(c(col1, col2,col3)))