Я ищу хороший и быстрый способ применения некоторой произвольной функции, которая работает с векторами, например, sum
, последовательно к подвектору последовательных K элементов.Вот один простой пример, который должен очень четко проиллюстрировать то, что я хочу:
v <- c(1, 2, 3, 4, 5, 6, 7, 8)
v2 <- myapply(v, sum, group_size=3) # v2 should be equal to c(6, 15, 15)
Функция должна попытаться обработать группы из group_size
элементов данного вектора и применить функцию к каждой группе (обрабатывая еекак еще один вектор).В этом примере вектор v2
получается следующим образом: (1 + 2 + 3) = 6, (4 + 5 + 6) = 15, (7 + 8) = 15. В этом случае K неразделите N точно, поэтому последняя группа имела размер меньше K.
Если есть более хорошее / быстрое решение, которое работает, только если N кратно K, я также был бы признателен за это.