Мне нравится писать функцию, используя ddply
, которая выводит сводную статистику на основе имени двух столбцов data.frame
mat
.
mat
- это большое data.frame
с названием столбцов "metric", "length", "species", "tree", ...,"index"
index
является множителем с 2 уровнями "Short", "Long"
"metric", "length", "species", "tree"
и другие являются непрерывными переменными
Функция:
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("metric","length")
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))
)