Datenumwandlung
Swipe um das Menü anzuzeigen
Datenumwandlung ist ein entscheidender Schritt bei der Vorbereitung von Rohdaten für die Analyse. Dabei werden Variablen modifiziert, hinzugefügt oder umkodiert, um die Daten aussagekräftiger und analysierbar zu machen.
Neue Spalten erstellen
Eine gängige Transformation ist die Berechnung neuer Kennzahlen aus bestehenden Spalten. Zum Beispiel kann der Preis pro Kilometer berechnet werden, um die Kosteneffizienz eines Fahrzeugs zu beurteilen.
Base R
Eine neue Spalte kann mit dem $-Operator erstellt werden, indem ihr Name definiert und Werte zugewiesen werden.
df$price_per_km <- df$selling_price / df$km_driven
head(df)
dplyr
Neue Spalten können mit der Funktion mutate() hinzugefügt werden. Innerhalb von mutate() wird der Name der neuen Spalte angegeben und definiert, wie sie berechnet werden soll.
df <- df %>%
mutate(price_per_km = selling_price / km_driven)
Umwandlung und Transformation von textbasierten numerischen Daten
In realen Datensätzen werden numerische Informationen häufig als Text mit nicht-numerischen Zeichen gespeichert. Beispielsweise können Motorleistungswerte als "68 bhp" erscheinen, die vor der Analyse bereinigt und umgewandelt werden müssen.
Base R
Mit gsub() können unerwünschte Texte entfernt und anschließend mit as.numeric() in Zahlen umgewandelt werden. Nach der Umwandlung sind weitere Transformationen möglich, wie zum Beispiel die Umrechnung von brake horsepower (bhp) in Kilowatt.
df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457 # convert to kilowatts
dplyr
Der gleiche Prozess kann innerhalb eines mutate()-Aufrufs effizienter gestaltet werden. Textersetzung, Typumwandlung und das Erstellen neuer Spalten lassen sich in einem Schritt kombinieren, wodurch der Code übersichtlicher und leichter lesbar wird.
df <- df %>%
mutate(
max_power = as.numeric(gsub(" bhp", "", max_power)),
max_power_kw = max_power * 0.7457
)
Kategorisierung von Daten
Neue kategoriale Variablen können erstellt werden, indem kontinuierliche Werte in sinnvolle Kategorien gruppiert werden. Beispielsweise lassen sich Autos anhand ihres Verkaufspreises in die Preisklassen Niedrig, Mittel oder Hoch einteilen.
Base R
Dies kann mit verschachtelten ifelse()-Anweisungen erfolgen. Jede Bedingung wird der Reihe nach geprüft und der Wert entsprechend zugewiesen.
df$price_category <- ifelse(df$selling_price < 300000, "Low",
ifelse(df$selling_price < 700000, "Medium", "High"))
dplyr
Die Funktion case_when() kann als Ersatz für verschachtelte if-else-Anweisungen verwendet werden. Dadurch können mehrere Bedingungen in einem übersichtlichen, gut lesbaren Format geschrieben werden.
df <- df %>%
mutate(price_category = case_when(
selling_price < 300000 ~ "Low",
selling_price < 700000 ~ "Medium",
TRUE ~ "High"
))
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen