Использование пакета Purrr для создания графиков с правильным xlab - PullRequest
2 голосов
/ 22 апреля 2019

Я пытаюсь использовать функцию map из пакета Purrr для одновременного получения нескольких графиков. У меня возникли проблемы с заголовком xlab.


library(dplyr)
library(purrr)

df <- mtcars

df %>% keep(is.numeric) %>%
       map(~qplot(.), geom = 'density')

xlab каждого полученного графика превращается в .. Я попытался включить xlab = . в функцию, но она не работает. Как я могу добавить правильный xlab (например, имя столбца) для каждого графика? Спасибо!

Ответы [ 2 ]

2 голосов
/ 22 апреля 2019

map только итерирует столбцы, а не имена столбцов. Вы также можете повторять имена с imap. Например

df %>% keep(is.numeric) %>%
  imap(~qplot(.x, xlab=.y, geom = 'density'))
1 голос
/ 22 апреля 2019

Мы можем использовать imap вместо map и использовать .y in xlab

library(tidyverse)
library(ggplot2)
df %>% 
   keep(is.numeric) %>%
   imap(~qplot(.x) + 
           geom_density() + 
           xlab(.y))

-выход (последний график)

enter image description here

...