Я пытаюсь использовать rollapplyr()
для таблицы данных и использовать ее для генерации различных столбцов с помощью .SDcols
. Однако вместо размещения результатов для одного столбца рядом с результатами для другого столбца rollapplyr()
суммирует результаты для каждого столбца ниже друг друга. Ниже приведен код для иллюстрации того, что я имею в виду:
library(data.table)
library(zoo)
cars <- data.table(mtcars)[, c('cyl', 'mpg', 'hp')]
setorder(cars, cyl)
maCols <- c('mpg_ma', 'hp_ma')
cars[, rollapplyr(.SD, mean, width = 3, align = 'right', partial = TRUE),
by = cyl,
.SDcols = c('mpg', 'hp')]
Этот код генерирует таблицу данных из двух столбцов (cyl и V1) из 64 строк, а не таблицу данных из трех столбцов (cyl, V1 и V2 ) из 32 столбцов. Есть ли способ получить последнее?