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