cast()
функция велика при расчете полей для совокупных значений:Могу ли я выполнять вычисления маржи в ddply()?
cast(df, IDx1+IDx2~IDy1, margins=c('IDx1','IDx2','grand_row'),c(min, mean, max))
Проблема заключается в том, что мне нужно взвешивать свои средства с помощью второго вектора и пользовательскую функцию.
Конечно, ddply()
позволяет мне применять пользовательские функции агрегирования для моих сгруппированных записей:
ddply(d, IDx1+IDx2~IDy1 , function(x)
c(
min(x$value),
MyFancyWeightedHarmonicMeanFunction(x$value,x$weight),
max(x$value)
)
)
... и это является удивительным.
Но что на самом деле сохранить день является возможность делать и то и другое одновременно, независимо от того, вызвав функцию два-вектора в cast()
или притворяется каким-то образом margins=()
переменной в ddply().
Возможно ли это?
Hadley, Спасибо за подсказку. Отдельные операции ddply, rbinded вместе, - это именно то, что я сделал. Все еще обнимаю и обобщаю, и трансформирую. –
'rbind.fill' особенно полезно, когда ddply возвращает кадры данных с различным количеством столбцов. – Andrew