Die Konvertierung von factor
nach numeric
ergibt die ganzzahligen Werte. Wenn jedoch die Spalten factor
Ebenen als c('b', 'a', 'c', 'd')
oder c('c', 'b', 'a')
haben, werden die ganzzahligen Werte in dieser Reihenfolge angezeigt. Um dies zu vermeiden, können wir levels
angeben, indem wir factor
erneut aufrufen (sicherer)
Wenn wir data.table
verwenden, wäre eine Option, set
zu verwenden. Es wäre effizienter für große Datensätze. Die Konvertierung in matrix
kann Speicherprobleme verursachen.
Dieser Ansatz ähnelt dem von Ananda, verwendet jedoch unlist()
anstelle von factor(as.matrix())
. Da all Ihre Spalten bereits Faktoren sind, kombiniert unlist()
sie zu einem Faktorvektor mit den entsprechenden Ebenen.
Sehen wir uns also an, was passiert, wenn wir unlist()
Ihren Datenrahmen bearbeiten.
Jetzt können wir einfach as.integer()
(oder c()
) für den obigen Code ausführen, weil die Integer-Werte der Faktoren mit Ihrer gewünschten Zuordnung übereinstimmen. Und so wird das folgende Ihren gesamten Datenrahmen neu berechnen.
Hinweis: use.names = FALSE
ist nicht erforderlich. Wenn Sie jedoch das Attribut names löschen, wird dieser Prozess effizienter.
Daten:
%Vor%Tags und Links r