Мне нравится писать функцию, используя 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))
)