Я довольно новичок в R, и я пытаюсь использовать aggregate
для выполнения некоторых временных рядов, формирующих данные, по каждому предмету и каждой метрике в моем наборе данных. Это прекрасно работает, но я считаю, что результат не в формате, который очень прост в использовании. Я хотел бы иметь возможность преобразовать результаты обратно в тот же формат, что и исходный фрейм.Сгладить/denormalize результат функции агрегирования R
Использование диафрагмы набора данных в качестве примера:
# Split into two data frames, one for metrics, the other for grouping
iris_species = subset(iris, select=Species)
iris_metrics = subset(iris, select=-Species)
# Compute diff for each metric with respect to its species
iris_diff = aggregate(iris_metrics, iris_species, diff)
Я просто с помощью diff
, чтобы показать, что у меня есть функция, которая формирует временные ряды, так что я получаю временной ряд, возможно, разной длины в виде результат и определенно не одно совокупное значение (например, среднее значение).
Я хотел бы преобразовать результат, который, кажется, представляет собой матрицу, которая имеет список, ценные ячейки, в исходный «плоский» фрейм.
Мне больше всего любопытно, как управлять этим с результатами от aggregate
, но я был бы в порядке с решениями, которые делают все в plyr
или reshape
.
Вы говорите о временах серий..и вы приводите пример на основе радужки? !! вы объединяете с помощью diff? в чем смысл ... лучше было бы использовать один из пакетов временных рядов (зоопарк, xts, ..) !! действительно я не понимаю, что вы хотите сделать (я читаю ваш вопрос как минимум 3 раза) – agstudy
@agstudy, я * думаю * вопрос немного связан с тем, как 'aggregate' ведет себя, если вы дадите ему как 'summary' или' fivenum' или что-то еще, что вернет более одного столбца. В таких случаях результатом является то, что * выглядит * как многоколоночный 'data.frame', но на самом деле является« матрицей »в качестве столбца в' data.frame'. Таким образом, 'do.call (data.frame, ...)' должен делать трюк, чтобы «сгладить» вывод. – A5C1D2H2I1M1N2O1R2T1
@AnandaMahto спасибо. Я понимаю. – agstudy