Mam kilka pytań o purrr :: pmap, aby utworzyć wiele wątków ggplot w nested.data.frame.Jak używać purrr :: pmap do drukowania wielu ggplot w nested.data.frame
Mogę uruchomić poniższy kod bez problemu za pomocą polecenia purrr :: map2 i mogę utworzyć multiplots (2 działki) w nested.data.frame.
Jako przykład użyłem zestawu danych Iris R.
library(tidyverse)
iris0 <- iris
iris0 <-
iris0 %>%
group_by(Species) %>%
nest() %>%
mutate(gg1 = purrr::map(data, ~ ggplot(., aes(Sepal.Length, Sepal.Width)) + geom_point())) %>%
mutate(gg2 = purrr::map(data, ~ ggplot(., aes(Sepal.Length, Petal.Width)) + geom_point())) %>%
mutate(g = purrr::map2(gg1, gg2, ~ gridExtra::grid.arrange(.x, .y)))
Ale gdy chcę wykreślić więcej niż 2 działki, nie można rozwiązać za pomocą Purrr :: pmap jak poniżej kodu.
iris0 <-
iris0 %>%
group_by(Species) %>%
nest() %>%
mutate(gg1 = purrr::map(data, ~ ggplot(., aes(Sepal.Length, Sepal.Width)) + geom_point())) %>%
mutate(gg2 = purrr::map(data, ~ ggplot(., aes(Sepal.Length, Petal.Width)) + geom_point())) %>%
mutate(gg3 = purrr::map(data, ~ ggplot(., aes(Sepal.Length, Petal.Length)) + geom_point())) %>%
mutate(g = purrr::pmap(gg1, gg2,gg3, ~ gridExtra::grid.arrange(.x, .y, .z)))
> Error in mutate_impl(.data, dots) : Index 1 is not a length 1 vector
Czy istnieje sposób rozwiązania tego problemu w nested.data.frame? Proszę, udziel mi rad i odpowiedzi.
Dziękuję za szybkie odpowiedzi! Mogę rozwiązać mój problem! Przeoczyłem listę list potrzeb purrr :: pmap. Dzięki. –
Jeśli to rozwiąże problem, proszę "zaakceptować" go, zaznaczając znacznik wyboru po lewej stronie odpowiedzi. – r2evans