Как запустить tapply () для нескольких столбцов фрейма данных с помощью R?

У меня есть такой фрейм данных:

a   b1  b2  b3  b4  b5  b6  b7  b8  b9
D   4   6   9   5   3   9   7   9   8
F   7   3   8   1   3   1   4   4   3
R   2   5   5   1   4   2   3   1   6
D   9   2   1   4   3   3   8   2   5
D   5   4   3   1   6   4   1   8   3
R   3   7   9   1   8   5   3   4   2
D   4   1   8   2   6   3   2   7   5
F   7   1   7   2   7   1   6   2   4
D   6   3   9   3   9   9   7   1   2

Функция tapply (df [, 2], INDEX = df $ a, sum) отлично работает для создания таблицы который суммирует все в df [, 2] с помощью df $ a, но когда я пытаюсь tapply (df [, 2: 10], INDEX = df $ a, sum) , чтобы получить аналогичную таблицу, за исключением сумма для каждого столбца (2, 3, 4, ..., 10), я получаю сообщение об ошибке:

Ошибка в tapply (df [, 2:10], INDEX = df $ a, sum): аргументы должны иметь одинаковую длину

Кроме того, я хотел бы, чтобы имена строк таблицы были именами столбцов df [, 2: 10] , так, чтобы строка 1 была b1, строка 2 была b2 , а строка 9 - b9.

20
задан Jota 14 December 2015 в 02:45
поделиться