varias tutorial studio qplot graficas ggplot español r split ggplot2 dplyr

tutorial - Aplique una función ggplot por grupo con dplyr y configure el título por grupo



qplot (2)

Esta es otra opción usando rowwise :

plots2 = iris %>% group_by(Species) %>% do(plots = p %+% .) %>% rowwise() %>% do(x=.$plots + ggtitle(.$Species))

Me gustaría crear una gráfica por grupo en un marco de datos e incluir el grupo en el título.

Con el conjunto de datos del iris puedo hacer en base R y ggplot hacer esto

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

¿Hay un equivalente usando dplyr?

Aquí hay un intento de usar facetas en lugar de título.

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

donde uso% +% para reemplazar el conjunto de datos en p con el subconjunto para cada llamada.

o (trabajando pero complejo) con 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()))

El problema es que parece que no puedo configurar el título por grupo con ggtitle de una manera muy simple.

¡Gracias!


Use .$Species para jalar los datos de las especies a ggtitle :

iris %>% group_by(Species) %>% do(plots=ggplot(data=.) + aes(x=Petal.Width, y=Petal.Length) + geom_point() + ggtitle(unique(.$Species)))