使用Purrr包生成具有正确xlab的图

问题描述 投票:2回答:2

我试图使用map包中的Purrr函数一次生成一堆图。我遇到了xlab标题的问题。


library(dplyr)
library(purrr)

df <- mtcars

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

每个结果图的xlab变成.。我试图将xlab = .包含在函数中,但它不起作用。如何在每个图中添加正确的xlab(例如,列名)?谢谢!

r plot purrr
2个回答
1
投票

我们可以使用imap而不是map并在.y中使用xlab

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

- 输出(最后一个情节)

enter image description here


2
投票

map只迭代列,而不是列的名称。您还可以使用imap迭代名称。例如

df %>% keep(is.numeric) %>%
  imap(~qplot(.x, xlab=.y, geom = 'density'))
© www.soinside.com 2019 - 2024. All rights reserved.