Ich versuche Asset-gewichtete Renditen nach Asset-Klasse zu berechnen. Für das Leben von mir kann ich nicht herausfinden, wie man es mit dem Aggregatbefehl macht.Aggregierte und gewichtete Mittelwerte in R
Mein Datenrahmen sieht aus wie diese
dat <- data.frame(company, fundname, assetclass, return, assets)
Ich versuche, so etwas wie zu tun (das ist nicht kopieren kann, es ist falsch):
aggregate(dat, list(dat$assetclass), weighted.mean, w=(dat$return, dat$assets))
Es funktioniert wie ein Charme. Das erste Mal, als ich es ausprobierte, ersetzte ich x in der Funktion durch dat (die gleiche Zahl für jede Asset-Klasse). Irgendeine Idee, warum das mit dem Aggregatbefehl nicht funktioniert? –
Es scheint, Aggregat aggregiert jede Spalte, in der Sie die Berechnung über zwei Spalten wünschen. Ich denke, vor einer Weile benutze ich 'doBy' oder so ähnlich - aber hey,' plyr' macht es einfacher und hat andere Schnickschnack. –
Du musst noch etwas über 'summarise' lernen;) – hadley