我喜欢使用编写一个函数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))
)