Ich habe ein Format zu trennen, wo ich diese Daten haben:Spalte Split basierend auf bestimmten Separator Format
df = data.frame(id=c(1,2),name=c('A~B~C','A~B~D'),value=c('1~2~3','1~~2'))
id name value
1 A~B~C 1~2~3
2 A~B~D 1~~2
, die die folgende Ausgabe zu erwarten ist, wenn der Spaltenname der ursprünglichen Spaltennamen gefolgt von der ist Text in der Spalte Name:
id value_A value_B value_C value_D
1 1 2 3
2 1 2
ich schaffe für die die Spaltung zu erreichen, indem viele verschachtelte for-Schleifen mit auf meine Daten Zeile für Zeile zu verarbeiten. Es arbeitet mit kleinen Beispieldaten, aber sobald die Daten riesig sind, ist die Zeit ein Problem.
Es könnte auch mehr als 1 Wertspalten geben, aber alle sollten in die gleichnamige Spalte mappen. Beispiel Ausgabe:
id value_A value_B value_C value1_A value1_B value1_C
1 1 2 3 1 2 3
2 1 2 3 1 2 3
Wenn ich sagen kann, ich habe eine value1 und value2 Spalten. Welche Änderungen kann ich an dem "Cast" vornehmen, damit er die Werte darstellen kann? Ich weiß, dass ich 'cSplit (df, c ('Name', 'Wert1', 'Wert2'), '~', 'lang')' verwenden kann, um die 3 Spalten zu teilen. – kaexch