Wenden Sie eine Funktion für jeden Datenrahmen an

8

Ich habe 4 Datenrahmen, die eine Datumsspalte, eine Preisspalte und eine Rückkehrspalte enthalten.

data.1:

%Vor%

data.2:

%Vor%

Ich möchte eine Schleife einrichten und die Funktion density () auf jeden Datenrahmen anwenden und die Dichtewerte für die Returns zurückgeben.

I durch Erstellen einer Liste, Einrichten einer Schleife und Verwendung von lapply (), um dies zu tun, so

%Vor%

aber das funktioniert offensichtlich nicht. Könnte mir jemand Hilfe anbieten?

Vielen Dank im Voraus - Dani

    
Dani 25.01.2011, 09:27
quelle

2 Antworten

10

Zuerst sollten Sie die Dichte initialisieren, wenn Sie diese manuelle Zuweisung durchführen möchten.

%Vor%

Zweitens verwenden Sie die Dichtefunktion auf eine lustige Art und Weise. Sie sollten die Funktion in Ihrem Paket angeben. Entweder geben Sie die Funktion und die zusätzlichen Argumente hinter dem Komma ein, oder Sie konstruieren Ihre eigene kleine Funktion im Aufruf von lapply, wie unten gezeigt.

%Vor%

Dies gibt automatisch eine Liste zurück.

Um die Daten daraus zu erhalten, verwenden Sie einfach die Listenindizes:

%Vor%

Wenn Sie Ihre Liste zuvor benannt haben, können Sie auch die Namen verwenden:

%Vor%     
Joris Meys 25.01.2011, 09:45
quelle
3

Die Sache mit lapply ist, dass Sie keine for-Schleife verwenden müssen. Dies sollte funktionieren:

%Vor%

Obwohl es zweifellos einen besseren Weg gibt, dies zu tun (ich meine die manuelle Zuweisung der Liste).

    
Sacha Epskamp 25.01.2011 09:45
quelle

Tags und Links