data.table Vorgang mit .SD: Berechnung der prozentualen Änderung kurz und bündig

8

Ich versuche, mit data.table eine prozentuale Änderung präzise zu berechnen, aber ich habe Probleme, die Funktionsweise von .SD vollständig zu verstehen.

Sagen wir, ich habe die folgende Tabelle

%Vor%

Um die prozentuale Änderung für Alpha nach Kategorie zu berechnen, habe ich folgenden Code erstellt:

%Vor%

Aber etwas sagt mir, dass es eine prägnantere Art wäre, es zu tun. Insbesondere wenn man die prozentuale Änderung für beide Spalten durchführen möchte, würde folgendes nicht funktionieren:

%Vor%

Also griff ich zu:

%Vor%

Aber die Operationen scheinen richtig zu sein, haben aber eine Menge Warnungen bekommen, die mich hierher geführt haben.

  • Ist meine Methode des Denkens völlig falsch oder ist es der richtige Weg für diese Operation?
DJJ 14.03.2015, 23:44
quelle

1 Antwort

8

Sie könnten die Funktion shift aus data.table v1.9.6 +

verwenden

Definieren Sie Ihre Funktion

%Vor%

Wählen Sie die Spalten aus, für die Sie den Prozentsatz für

berechnen möchten %Vor%

Oder wenn Sie dies auf alle durchführen möchten, außer den ersten beiden

%Vor%

Führen Sie die Funktion über die Spalten

aus %Vor%     
David Arenburg 15.03.2015, 00:02
quelle

Tags und Links