Anwenden eines ggplot-Funktion pro Gruppe mit dplyr und Titel festlegen pro Gruppe

Ich würde gerne erstellen Sie einen separaten plot pro Gruppe in einem Daten-frame und nehmen Sie die Gruppe in die Titel.

Mit den iris-Datensatz kann ich in base-R und ggplot dies

plots1 <- lapply(split(iris, iris$Species), 
  function(x) 
    ggplot(x, aes(x=Petal.Width, y=Petal.Length)) +
      geom_point() +
      ggtitle(x$Species[1]))

Gibt es ein äquivalent mit dplyr?

Hier ein Versuch, mithilfe von Facetten statt Titel.

p <- ggplot(data=iris, aes(x=Petal.Width, y=Petal.Length)) + geom_point()
plots2 = iris %>% group_by(Species) %>% do(plots = p %+% . + facet_wrap(~Species))

wo ich %+% zu ersetzen, die den dataset in p mit der Teilmenge, die für jeden Anruf.

Anwenden eines ggplot-Funktion pro Gruppe mit dplyr und Titel festlegen pro Gruppe

oder (Arbeits-aber-Komplex) mit ggtitle

plots3 = iris %>%
  group_by(Species) %>%
  do(
    plots = ggplot(data=.) +
      geom_point(aes(x=Petal.Width, y=Petal.Length)) +
      ggtitle(. %>% select(Species) %>% mutate(Species=as.character(Species)) %>% head(1) %>% as.character()))

Anwenden eines ggplot-Funktion pro Gruppe mit dplyr und Titel festlegen pro Gruppe

Das problem ist, dass ich kann nicht scheinen, um die Titel pro Gruppe mit ggtitle in einer sehr einfachen Weise.

Dank!

Schreibe einen Kommentar