grouper par dans R, ddply avec weighted.mean

Je suis en train de faire un "groupe" de style de la moyenne pondérée dans R. quelques dire le code suivant (à l'aide du package plyr de Hadley) a bien fonctionné.

ddply(mydf,.(period),mean)

Si j'utilise la même approche de la pondération.dire que je reçois l'erreur suivante "'x' et 'w' doivent avoir la même longueur"), je ne comprends pas parce que le pondérée.dire la partie des travaux à l'extérieur ddply.

weighted.mean(mydf$mycol,mydf$myweight) # works just fine
ddply(mydf,.(period),weighted.mean,mydf$mycol,mydf$myweight) # returns the erros described above
ddply(mydf,.(period),weighted.mean(mydf$mycol,mydf$myweight)) # different code same story

J'ai pensé écrire une fonction personnalisée au lieu d'utiliser pondérée.dire et en passant ensuite à ddply ou encore écrire quelque chose de nouveau à partir de zéro avec sous-ensemble. Dans mon cas, ce serait trop de travail, espérons-le, mais il devrait y en a plus intelligente de la solution avec ce qui est déjà là.

merci pour toutes les suggestions à l'avance!

source d'informationauteur Matt Bannert