df <- data.frame(x = rnorm(10)) # fügt dem data.frame df eine neue Spalte y mit den quadrierten Werten von x hinzu df$y <- df$x^2
Willst Du die Syntax von dem Package dplyr nutzen, geht das mit dem Befehl mutate. Dabei wir der data.frame df als erstes Argument übergeben. Als zweites Argument kommt dann die neue Variable y mit der Zuweisung. Allerdings ist dplyr
library(dplyr) df <- data.frame(x = rnorm(10)) # der mutate-Befehl aus dem Package dplyr macht das gleiche df <- mutate(df, y = x^2) #alternativ mit der magrittr-Pipe df <- df %>% mutate(y = x^2)
Mehr über das Package dplyr kannst Du in meiner ausführlichen Anleitung zu dplyr nachlesen.
GRATIS 5-Tage Minikurs: Datenanalyse in R
Du kennst Dich noch nicht so gut damit aus, wie man einen Datensatz in R analysiert? Ich bin da, um Dir zu helfen. Hole Dir jetzt meinen kostenlosen Datenanalyse mit R – Kurs und fange an, Dir diese zukunftsweisenden Skills anzueignen.
# mehrere Spalten gleichzeitig hinzufügen df <- mutate(df, y = x^2, z = 3*y + rnorm(10) ) # klassisch df$y <- df$x^2 df$z <- 3*df$y + rnorm(10)
Benchmark
Ein (nicht sehr realitätsnahes) Benchmark zeigt, dass die klassische Variante schneller ist:
library(rbenchmark) n = 1000 benchmark(klassisch = {df <- data.frame(x = rnorm(n));df$y <- df$x^2}, dplyr = {df <- data.frame(x = rnorm(n));df <- mutate(df, y = x^2)}, replications = 1000 ) benchmark(klassisch = {df <- data.frame(x = rnorm(n));df$y <- df$x^2;df$z <- 3*df$y+rnorm(n)}, dplyr = {df <- data.frame(x = rnorm(n));df <- mutate(df, y = x^2, z = 3*y + rnorm(n))}, replications = 1000 )
LERNE DATA SCIENCE mit R
Ein Data Science Experte ist in der heutigen datengetriebenen Welt viel gefragt. Mit der entsprechenden Erfahrung kann man sich den gutbezahlten, interessanten Job aussuchen. In meinem Onlinekurs Data Science mit R lernst Du die Grundlagen.