R: Vereinfachter Code zum Umrechnen von Buchstaben in numerische Noten

8

Ich habe eine Funktion in R geschrieben, die einen Datenrahmen mit Buchstabennoten in numerische Grade umwandelt. Ich benutze dann Sapply () für jede Spalte des Datenrahmens. Gibt es eine einfachere Möglichkeit, dies zu tun, die nicht drei separate Aufrufe von Sapply erfordert? Gibt es eine Möglichkeit, eine Funktion für jedes Element eines Datenrahmens anstelle jeder Zeile oder Spalte anzuwenden?

Die Quelldaten, "Grade", sehen so aus:

%Vor%

Meine " convert_grades " Funktion sieht so aus:

%Vor%

Mein aktueller Ansatz ist wie folgt:

%Vor%     
JoshuaA 30.03.2014, 16:27
quelle

3 Antworten

13

Ich würde Ihre convert_grades Funktion wie folgt umschreiben:

%Vor%

Dann würde ich die Umwandlung so machen:

%Vor%     
A5C1D2H2I1M1N2O1R2T1 30.03.2014, 16:36
quelle
11

Zuerst vektorisieren Sie Ihre Funktion: Sie könnten dies mit ifelse oder:

tun %Vor%     
Ben Bolker 30.03.2014 16:38
quelle
1

Hier ist ein ziemlich schneller Hash-Ansatz, der umso mehr glänzt, je mehr Noten Sie haben:

%Vor%     
Tyler Rinker 30.03.2014 19:07
quelle

Tags und Links