jiangbeilu 发表于 2016-4-6 17:14 
可能你的函数有点问题吧,by的函数里的,FUN是对data.frame进行操作的。你的dstats不能对data.frame进行操作 ...
您说的很对,因为我的dstats中的mean和sd函数不能用于数据框,我将它修改了一下:
> dstats <- function(x)(c(mean=apply(x,2,mean),sd=apply(x,2,sd)))
> by(mtcars[vars],mtcars$am,dstats)
mtcars$am: 0
mean.mpg mean.hp mean.wt sd.mpg sd.hp sd.wt
17.1473684 160.2631579 3.7688947 3.8339664 53.9081957 0.7774001
---------------------------------------------------------------
mtcars$am: 1
mean.mpg mean.hp mean.wt sd.mpg sd.hp sd.wt
24.3923077 126.8461538 2.4110000 6.1665038 84.0623243 0.6169816
这样就行了,非常感谢!