Я выполняю эту рекурсивную операцию (свертку) в R, просто вложив одну функцию в другую, как русскую куклу. Вопрос в том, есть ли более элегантный способ сделать это.Вложенная операция в R. Есть ли более элегантный способ?
Для начала есть, безусловно, лучший способ настроить следующие входные векторы:
ones = c(1, 1, 1, 1, 1, 1)
twos = c(1, 0, 1, 0, 1, 0)
threes = c(1, 0, 0, 1, 0, 0)
fours = c(1, 0, 0, 0, 1, 0)
Фактическая линия:
round(convolve(convolve(convolve(ones, rev(twos), type="open"), rev(threes), type="open"), rev(fours), type="open")) [1] 1 1 2 3 5 6 6 8 8 8 6 6 5 3 2 1 1 0 0 0 0
Существует 'Reduce()' в базовой R, и 'уменьшить()' в 'purrr' –
@RichScriven опечатка сейчас исправленный. Извини за это. – Toni