R - 在管道中的地图中提取 corrplot 图的标题

J. Doe

想象一下这段代码:

mtcars %>% 
    group_split(cyl) %>% 
    map(select, mpg, disp, hp) %>% 
    `names<-`(c(4, 6, 8)) %>% 
    map(cor)

列表元素的名称是根据变量的值设置的cyl,根据该变量将数据分为三组。

现在想象将所有这些传递给corrplot

mtcars %>% 
    group_split(cyl) %>% 
    map(select, mpg, disp, hp, cyl) %>% 
    `names<-`(c(4, 6, 8)) %>% 
    map(cor) %>% 
    map(corrplot)

效果很好。现在,该corrplot函数有一个title参数,用于在绘图上打印标题。我希望从用于创建绘图的列表元素的名称中提取每个绘图的标题 - 换句话说,cyl就是前面提到的变量的那些值。我怎样才能做到这一点?我试过这样做:

mtcars %>% 
    group_split(cyl) %>% 
    map(select, mpg, disp, hp) %>% 
    `names<-`(c(4, 6, 8)) %>% 
    map(cor) %>% 
    map(corrplot, title = names(.))

但这只是打印图表上的所有名称,而不仅仅是当前元素中的名称。

如果您有解决方案,我将不胜感激。在不破坏管道的情况下,因为我可以很容易地找到破坏管道的解决方法。

阿克伦

我们可以使用imap/iwalk而不是map

library(dplyr)
library(purrr)
library(corrplot)
mtcars %>% 
    group_split(cyl) %>% 
    map(select, mpg, disp, hp) %>% 
    `names<-`(c(4, 6, 8)) %>% 
    map(cor) %>% 
   imap(~ corrplot(.x, title = .y))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章