Сводная статистика с использованием ddply

Мне нравится писать функцию, используя ddply , которая выводит сводную статистику на основе имени из двух столбцов data.frame mat .

  • mat - это большой data.frame с именем столбцов "метрика", " длина »,« вид »,« дерево », ...,« индекс »

  • индекс - множитель с двумя уровнями « Короткий »,« Длинный »

  • « метрика »,« длина » , «виды», «дерево» и другие - все непрерывные переменные

Функция:

summary1 <- function(arg1,arg2) {
    ...

    ss <- ddply(mat, .(index), function(X) data.frame(
        arg1 = as.list(summary(X$arg1)),
        arg2 = as.list(summary(X$arg2)),
        .parallel = FALSE)

    ss
}

Я ожидаю, что результат будет выглядеть следующим образом после вызова summary1 («метрика», «длина» )

Short metric.Min. metric.1st.Qu. metric.Median metric.Mean metric.3rd.Qu. metric.Max. length.Min. length.1st.Qu. length
.Median length.Mean length.3rd.Qu. length.Max. 

....

Long metric.Min. metric.1st.Qu. metric.Median metric.Mean metric.3rd.Qu. metric.Max. length.Min. length.1st.Qu. length
.Median length.Mean length.3rd.Qu. length.Max.

....

В настоящий момент функция не дает желаемого результата? Какое изменение здесь нужно сделать?

Спасибо за вашу помощь.


Вот игрушечный пример

mat <- data.frame(
    metric = rpois(10,10), length = rpois(10,10), species = rpois(10,10),
    tree = rpois(10,10), index = c(rep("Short",5),rep("Long",5))
)
5
задан Marek 19 April 2011 в 11:23
поделиться