Ich habe einen Datenrahmen mit einer Variablen namens „Control_Category“. Die Variable hat sechs Namen drin, die der Einfachheit halber ich Generika machen werde:Ändern Zeichenfolge Namen in einem Datenrahmen basierend auf einem Zustand
df <- data.frame(Control_Category = c("Really Long Name One",
"Super Really Long Name Two",
"Another Really Flippin' Long Name Three",
",Seriously, It's a Fourth Long Name",
"Definitely a Fifth Long Name",
"Finally, This guy is done, number six"))
ich dies mit einem leichten Witz zu machen. Während also die Namen lang sind, sind sie sauber, da die Werte für jedes (1-6) konsistent sind. In diesem spezifischen Zeichenvektor des data.frames gibt es Hunderte von Einträgen, die mit einem dieser sechs übereinstimmen.
Was ich tun muß, ist den langen Namen mit einem kurzen Namen zu ersetzen. Deshalb kann, wenn eine der oben genannten Namen identifiziert werden, ersetzen Sie diesen Namen mit einer kürzeren Version, wie:
One Zwei Drei Vier Fünf Sechs
habe ich versucht, eine Funktion ‚case_when‘ verwenden und es Scheiterte kläglich. Jede Hilfe wäre willkommen.
Weitere Informationen Basierend auf Fragen von Gemeinschafts
Die Reihenfolge der Elemente keine Rolle spielt. Es gibt keine Bezeichnung von 1 - 6. Es sind einfach sechs und ich habe sechs dumme lange Saiten gemacht. Die Saiten selbst sind lang.
Also, überall "Super Really Long Name Two" existiert, muss dieser Wert auf etwas wie "ZWEI" oder ein "Short_Name", dass ungefähr "ZWEI" aktualisiert werden. In der Realität heißt die Kategorie "Audit, Prüfung und Prüfungsergebnisse“der Kurzname im Idealfall nur sein würde.‚AUDIT‘
in Ihrem realen Daten, sind 4 und 5 immer von der "vierten" repräsentiert, "fünfte", im Gegensatz zu 1, 2, 3 und 6, die immer "eins", "zwei", " drei "," sechs "? – neilfws
Ich denke, was Sie suchen Faktor ist: 'df $ Control_Category <- Faktor (df $ Control_Category, level = df $ Control_Category, Etikett = c (1: 6))' – parksw3
@ parksw3 denke ich, in den realen Daten, Es gibt mehr als 6 Zeilen und die zu ersetzenden Werte sind nicht geordnet. – neilfws