Ich würde gerne lernen, wie man Funktionen auf bestimmte Spalten meines Datenrahmens anwendet, ohne die anderen Spalten von meinem df auszuschließen. Zum Beispiel möchte ich einige spezifische Spalten mit 1000 multiplizieren und die anderen so belassen wie sie sind.
Verwenden Sie die Sapply-Funktion zum Beispiel wie folgt:
%Vor%Ich bekomme neue Datenfelder mit der ersten Spalte multipliziert mit 1000, aber ohne die anderen Spalten, die ich nicht in der Operation verwendet habe. Also mein Versuch war es so:
%Vor%aber dieser hat nicht funktioniert.
Meine Problemumgehung bestand darin, beiden Datenfeldern eine weitere Zeile mit IDs zu geben und später das alte Datenfeld mit dem neu erstellten zu verschmelzen, um ein vollständiges zu erhalten. Aber ich denke, dass es eine bessere Lösung geben muss. Ist es nicht?
Wenn Sie nur eine oder mehrere Spalten berechnen möchten, können Sie transform
verwenden oder einfach manuell indizieren:
Der folgende Code wendet die gewünschte Funktion nur auf die von Ihnen angegebenen Spalten an. Ich werde einen einfachen Datenrahmen als reproduzierbares Beispiel erstellen.
%Vor% Verwenden Sie im Wesentlichen cbind()
, um die Spalten auszuwählen, auf denen die Funktion nicht ausgeführt werden soll, und verwenden Sie dann apply()
mit den gewünschten Funktionen in den Zielspalten.