Я пытаюсь использовать 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 столбцов. Есть ли способ получить последний?