Мы можем сделать это за base R
.Обратите внимание, что набор данных OP равен matrix
, а матрица может содержать только один класс.Если есть один символьный элемент, вся матрица будет преобразована в character
класс.Здесь по какой-то причине заголовки находятся в первой строке, а также в том, что первый столбец равен character
.Одним из вариантов будет подмножество числовых столбцов, преобразование типа и затем выбор интересующих строк для rowSums
m1 <- matrix(as.numeric(dd[-1, 2:3]), ncol = 2)
i1 <- dd[-1, 1] %in% c("ONE", "THREE", "FIVE")
rowSums(m1[i1, ])
#[1] 68 889 1775
Или, если это должна быть сумма по столбцам
colSums(m1[i1, ])
#[1] 1819 913
данные
dd <- cbind(c("Category", "ONE", "TWO", "THREE", "FOUR", "FIVE"),
c("A", 23, 234, 565, 676, 1231), c("B", 45, 23, 324, 343, 544))