我想用ddply
编写一个函数,根据data.frame
mat
的两列名称输出汇总统计信息。
mat
是一个大型data.frame
,其中包含列名称"metric"、"length"、"species"、"tree"等等
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))
)
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)))
- 谢谢 - Tonydata.frame
和要拆分的变量进行操作。这样,当您需要在名为Mat
、MAT
或MyOtherData
等数据框上使用它时,您的函数将能够正常工作。 - Chase