ggplot2 und die neue Pipe

Warum funktioniert dieser Code nicht?

mtcars |> ggplot(., aes(x = mpg, y = hp)) + geom_point()

Das Problem mit dem oben genannten Code liegt in der Verwendung des Pipe-Operators (|>), direkt vor ggplot. ggplot2 wird nicht nativ mit der R-spezifischen Pipe (|>) unterstützt, wie hier verwendet. Allerdings funktioniert ggplot2 nahtlos mit dem Magrittr-Pipe (%>%) aus dem dplyr-Paket. Hier ist die korrekte Verwendung:

library(ggplot2)
library(dplyr)

mtcars %>% 
  ggplot(aes(x = mpg, y = hp)) + 
  geom_point()

Alternativ müssen die Daten explizit in ggplot übergeben werden, wie hier:

library(ggplot2)

mtcars |> 
  ggplot(data = ., aes(x = mpg, y = hp)) + 
  geom_point()

Hier stellt der Punkt (.) die Daten dar, die von mtcars in ggplot gepiped werden, und Sie müssen ihn als data-Argument in der ggplot-Funktion spezifizieren.

Schreibe einen Kommentar

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