Anwenden einer Funktion auf jedes Daten-frame
Habe ich 4 Daten-frames, die enthalten eine Spalte Datum, eine Spalte Preis und eine Rückkehr Spalte.
Daten.1:
Date Price Return
2009-01-02 100 0.2
2009-01-03 110 0.1
etc.
Daten.2:
Date Price Return
2009-02-02 60 0.15
2009-02-03 50 -0.1
etc.
Ich würde gerne eine Schleife und wenden Sie die Funktion density (), um die einzelnen Daten-frame, der Rückkehr der Dichte-Werte für die Rendite.
Ich durch etwa eine Liste erstellen, einrichten einer Schleife und mit lapply (), um dies zu tun, so
> ff <- list(data.1, data.2, data.3, data.4)
> for(i in 1:length(ff){
density[[i]] <- lapply(ff, density(ff[[i]]$Return))}
aber dies offensichtlich nicht funktioniert. Könnte jemand mir etwas helfen?
Vielen Dank im Voraus -
Dani
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zunächst sollten Sie initialisieren Dichte, wenn Sie wollen, dass die manuelle Zuweisung.
Zweite, verwenden Sie die Dichte-Funktion in einer lustigen Art und Weise. Sollten Sie die Funktion unterschiedlich in Ihrer lapply. Entweder Sie geben die Funktion und die zusätzlichen Argumente, die nach dem Komma, oder konstruieren Sie Ihre eigenen benutzerdefinierten wenig Funktion in der lapply aufrufen, wie unten dargestellt.
Dieser gibt eine Liste automatisch.
Um die Daten aus der it, nutzen Sie einfach die Liste Indizes:
Wenn Sie Ihren Namen der Liste vor, können Sie den Namen sowie :
Die Sache mit lapply ist, dass Sie nicht brauchen, um verwenden Sie eine for-Schleife. Sollte dies funktionieren:
Obwohl gibt es ohne Zweifel einen besseren Weg, dies zu tun (ich meine die manuelle Zuordnung von der Liste).