So konvertieren sie einen faktor in r in einen numerischen faktor (mit beispielen)


Wir können die folgende Syntax verwenden, um einen Faktorvektor in einen numerischen Vektor in R umzuwandeln:

 numeric_vector <- as. numeric (as. character (factor_vector))

Wir müssen den Faktorvektor zunächst in einen Zeichenvektor und dann in einen numerischen Vektor umwandeln. Dadurch wird sichergestellt, dass der numerische Vektor die tatsächlichen numerischen Werte anstelle von Faktorstufen enthält.

Dieses Tutorial bietet mehrere Beispiele für die praktische Verwendung dieser Funktion.

Beispiel 1: Konvertieren Sie einen Faktorvektor in einen numerischen Faktor

Der folgende Code zeigt, wie man einen Faktorvektor in einen numerischen Vektor umwandelt:

 #define factor vector
factor_vector <- factor(c(1, 5, 7, 8))

#convert factor vector to numeric vector
numeric_vector <- as. numeric (as. character (factor_vector))

#view class
class(numeric_vector)

[1] "digital"

Beispiel 2: Konvertieren Sie eine Faktorspalte in eine numerische Spalte

Der folgende Code zeigt, wie eine bestimmte Spalte in einem Faktordatenrahmen in eine numerische Spalte konvertiert wird:

 #create data frame
df <- data. frame (a = factor(c(1, 5, 7, 8)),
b = c(28, 34, 35, 36))

#convert column 'a' from factor to numeric
df$a <- as. numeric (as. character (df$a))

#view new data frame
df

  ab
1 1 28
2 5 34
3 7 35
4 8 36

#confirm class of numerical vector
class(df$a)

[1] "digital"

Beispiel 3: Konvertieren Sie Spalten mit mehreren Faktoren in numerische Spalten

Der folgende Code zeigt, wie alle Faktorspalten in einem Faktordatenrahmen in numerische Werte konvertiert werden:

 #create data frame
df <- data. frame (a = factor(c(1, 5, 7, 8)),
                 b = factor(c(2, 3, 4, 5)),
                 c = c('A', 'B', 'C', 'D'),
                 d = c(45, 56, 54, 57))

#display classes of each column
sapply(df, class)

       abcd
"factor" "factor" "character" "numeric" 

#identify all factor columns
x <- sapply (df, is. factor )

#convert all factor columns to numeric
df[, x] <- as. data . frame ( apply (df[, x], 2, as.numeric ))

#display classes of each column
sapply (df, class)

        abcd
"numeric" "numeric" "character" "numeric"

Dieser Code hat die folgenden Änderungen an den Datenrahmenspalten vorgenommen:

  • Spalte a: Vom Postboten zum Digitalen
  • Spalte b: Vom Postboten zum Digitalen
  • Spalte c: Unverändert (da es sich um ein Zeichen handelte)
  • Spalte d: Unverändert (da bereits numerisch)

Mit den Funktionen apply() und sapply() konnten wir nur die Faktorspalten in numerische Spalten konvertieren und alle anderen Spalten unverändert lassen.

Zusätzliche Ressourcen

So konvertieren Sie ein Zeichen in einen Faktor in R
So konvertieren Sie einen Faktor in ein Zeichen in R
So konvertieren Sie ein Zeichen in einen Zeitstempel in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert