Einführung in Faktoren in R

In R können wir verschiedene Arten von Variablen verarbeiten. Wir können Faktor auch als einen Variablentyp annehmen, der nur eine begrenzte Anzahl von zugewiesenen Werten annimmt. Eine solche Variable wird auch als kategoriale Variable bezeichnet.

Vorteile eines Faktors

  • Es kann sowohl Ganzzahlen als auch Strings speichern

1. Im Fall von ganzen Zahlen

data = c(5, 6, 6, 6, 7, 5, 7, 6, 7, 5, 6, 7)
factor_data = factor(data)
factor_data

Ausgabe

2. Im Fall von Zeichenfolgen

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"))
y

Ausgabe

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Ausgabe

  • Sehr nützlich, wenn die Spalten eine begrenzte Anzahl eindeutiger Werte haben
NameArt des Reisens
JohnLastwagen
ShawAuto
LeeZyklus
MusanFahrrad
LozyLastwagen
RiyaAuto
MijZyklus

Hier haben wir eine begrenzte Anzahl von eindeutigen Werten in Spalte 2.

  • Es hilft, die Zeichenfolgen mit Tippfehlern zu korrigieren.

Wie erstelle ich einen Faktor in R?

Wir können Faktoren mithilfe von Codefaktoren () erstellen.

Erfahren Sie mehr über factor ().

factor(x = character(), levels, labels = levels, ordered = is.ordered(x))

Wo,

X ist ein Satz kategorialer Daten. Wie wir bereits besprochen haben, sollte es eine Zeichenfolge oder ganze Zahlen sein.

Ebenen sind Wertemengen, die von X übernommen werden können. Ebenen enthalten alle eindeutigen Werte, die in der Spalte (x) verfügbar sind.

Labels wie der Name suggerieren eine Kennzeichnung der bei X verfügbaren Daten.

Sortiert legt fest, ob die Ebenen in einer bestimmten Reihenfolge sortiert werden sollen.

Beispiel 1

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike"))
y

Ausgabe:

Beispiel # 2

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Ausgabe:

In Beispiel 2 können wir sehen, dass wir auch „Ebenen“ definieren können.

Lassen Sie uns nun mehr über Faktoren mit Str (y) erfahren.

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Ausgabe:

str(y)

Ausgabe:

Es ist deutlich zu sehen, dass Faktoren als ganzzahlige Vektoren und Ebenen als Zeichenvektoren gespeichert werden und die einzelnen Elemente tatsächlich als Indizes gespeichert werden.

  • Nun werden wir sehen, wie man auf Komponenten eines Faktors zugreift

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Ausgabe:

y(2) # helps to access 2nd element

Ausgabe:

x(c(3, 4)) # helps to access 3rd and 4th element

Ausgabe

x(-1) # access all except 1st element

Ausgabe:

  • Nun werden wir sehen, wie ein Faktor geändert wird.

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Ausgabe:

y(3) = "Truck" #modifty third element
y

Ausgabe

Hinzufügen zu einem Faktor:

y(10) = "Car"
y

Ausgabe:

Bitte beachten Sie, dass wir in einem Faktor, der nicht Teil der Ebenen ist, nichts zuordnen können.

y(4) = "Plane"Warning message:In `(<-.factor`(`*tmp*`, 4, value = "Plane") : invalid factor level, NA generated

Ausgabe:

In diesem Beispiel können wir sehen, dass "Ebene" nicht Teil unseres Levels ist. Daher haben wir eine Warnmeldung erhalten, die besagt, dass "Ebene" ein ungültiges Faktorlevel ist.

Konvertieren Sie Daten in einen Faktor

Daten sind in Hülle und Fülle verfügbar, und es ist jedes Mal schwierig, ein vollständiges Wort im Code aufzuschreiben. Deshalb konvertieren wir die Daten zunächst in einen Faktor und dann den Faktor in ein Zeichen oder eine Zahl, wie wir es möchten.

Lassen Sie uns nun an einigen realen Daten arbeiten. Wo wir 50 Beobachtungen haben und Bewerber ihre Arbeitsanweisungen geben. So wie John für seine Arbeit nach Norden fährt oder Sam für seine Arbeit nach Süden fährt.

direction <- c("West", "East", "North", "West", "South", "East", "South", "East", "South", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West")
direction.factor = factor(direction)
direction.factor

Ausgabe:

Ebenen: Ost Nord Süd West

Nun, wenn wir den Faktor in einen Zeichenvektor umwandeln wollen:

Wir werden as.character () Code verwenden.

as.character(direction.factor)

Ausgabe:

Oder wir wollen den Faktor in einen numerischen Vektor umwandeln:

Wir werden as.numeric () Code verwenden.

as.numeric(direction.factor)

Ausgabe:

Empfohlene Artikel

Dies ist eine Anleitung zu Faktoren in R. Hier diskutieren wir die Einführung, Vorteile eines Faktors, Wie man einen Faktor in R zusammen mit den Ausgaben erzeugt. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren.

  1. Spark SQL Dataframe
  2. R Datentypen
  3. Mehrdimensionale Datenbank
  4. AWS-Datenpipeline

Kategorie: