Erstellen einer neuen Variablen aus einer Nachschlagetabelle

7

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.

    
Burton Guster 08.12.2011, 15:39
quelle

4 Antworten

14

Definieren Sie Ihre Nachschlagetabelle

%Vor%

Verwenden Sie dann join from plyr

%Vor%     
LouisChiffre 08.12.2011, 15:51
quelle
13

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.)

    
Andrie 08.12.2011 16:02
quelle
2

Eine Alternative zu Dieters Antwort :

%Vor%     
Joshua Ulrich 08.12.2011 16:17
quelle
1
%Vor%

Abhängig von Ihren Daten konnte as.factor () weggelassen werden, da in vielen Fällen Zeichenfolgen standardmäßig voreingestellt sind, z. mit read.table

    
Dieter Menne 08.12.2011 15:46
quelle

Tags und Links