Ich habe die folgenden Spalten in meinem Datensatz:
%Vor%Ich möchte eine dritte Spalte "Basen" hinzufügen, die vom Wert des Ergebnisses in Spalte arsesult abhängig ist.
Zum Beispiel möchte ich, dass die Basen 1 für eine einzelne, 2 für ein Double, 3 für ein Triple, 4 für einen Home Run und 0 für einen Strikeout sind.
Normalerweise würde ich die neue Variable wie folgt erstellen:
%Vor%Das Problem ist, dass ich nicht weiß, wie man die neue Variable codiert, ohne alle anderen Variablen auf Null zu setzen.
Definieren Sie Ihre Nachschlagetabelle
%Vor%Verwenden Sie dann join from plyr
%Vor%So verwenden Sie einen benannten Vektor für die Suche:
Testdaten definieren:
%Vor%Definieren Sie einen benannten numerischen Vektor mit den Punkten:
%Vor%Verwenden Sie die Vektorindizierung, um die Ergebnisse mit den Ergebnissen abzugleichen:
%Vor%Zusätzliche Informationen:
Wenn Sie den benannten Vektor nicht von Hand konstruieren möchten, sagen Sie, wenn Sie große Datenmengen haben, tun Sie das wie folgt:
%Vor%(Oder lesen Sie die Werte und Namen aus vorhandenen Daten. Der Punkt besteht darin, einen numerischen Vektor zu konstruieren und dann Namen zuzuordnen.)
Abhängig von Ihren Daten konnte as.factor () weggelassen werden, da in vielen Fällen Zeichenfolgen standardmäßig voreingestellt sind, z. mit read.table