Não complique o fácil!!
da=data.frame(A=rep(LETTERS[1:3],3),
B=rep(letters[1:3],3),
y=rnorm(9),
x=rnorm(9),
z=rnorm(9))
aggregate(da[,-c(1:2)],
list(A=da[['A']],
B=da[['B']]),
function(x) c('Média'=mean(x),
'Desvio'=sd(x),
'CV'=sd(x)/mean(x)*100))
(S,f,P)

Allaman