Начиная с таблицы из 372 столбцов и 12 000 строк в R, мне нужно создать новую таблицу с столбцами, содержащими строки с суммой одной строки из столбцов 1: 4 , затем 5: 8, затем 9:12 и т. д. до столбца 372 исходной таблицы. Вот небольшой пример:Суммировать значения групп из 4 смежных столбцов в R
Вход:
m = structure(c(3L, 1L, 2L, 6L, 3L, 1L, 1L, 8L, 1L, 5L, 2L, 1L, 3L, 7L,
+ 1L, 1L), .Dim = c(2L, 8L), .Dimnames = list(c("r1", "r2"), c("a", "b",
+"c", "d", "e", "f", "g", "h")))
который выглядит следующим образом:
a b c d e f g h
r1 3 2 3 1 1 2 3 1
r2 1 6 1 8 5 1 7 1
Ожидаемый результат:
A B
r1 9 7
r2 16 14
Таким образом, А = а + Ь + с + d и B = e + f + g + h. Простота работы с маленькой таблицей в Excel. Столбцы a-d соответствуют группе, e-f - другой, если это помогает.
Вы, вероятно, нужно 'dput' этого объекта, чтобы сделать эту воспроизводимым, как описано здесь: HTTP: //stackoverflow.com/a/28481250/ В противном случае у вас может быть объект с любым из нескольких классов (data.frame, matrix, table). Например, вы можете отредактировать 'm = structure (c (3L, 1L, 2L, 6L, 3L, 1L, 1L, 8L, 1L, 5L, 2L, 1L, 3L, 7L, 1L, 1L), Dim = c (2L, 8L),.Dimnames = list (c («r1», «r2»), c («a», «b», «c», «d», «e», «f», «g», «h»))) 'в ваш вопрос, если у вас есть матрица. – Frank
Спасибо за подсказку Фрэнк. Я уже редактировал мой вопрос. – fibar