想象一下这段代码:

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(.))

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

如果你有解决办法,我将非常感激.不 destruct 管道,因为我可以很容易地找到 destruct 管道的解决方法.

推荐答案

我们可以用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))

R相关问答推荐

如何创建构成多个独立列条目列表的收件箱框列?

获取一个数据库框架的摘要,该数据库框架将包含一列数据库框架,

如何将dygraph调用到R Markdown作为一个shiny 的react 对象的参数?

我不能在docker中加载sf

如何直接从Fortran到R的数组大小?

我如何才能找到FAMILY=POISSON(LINK=&Q;LOG&Q;)中的模型预测指定值的日期?

R中边际效应包中Logistic回归的交互作用风险比

为左表中的所有行使用值Fill滚动左连接

QY数据的处理:如何定义QY因素的水平

如何在R中改变fviz_pca_biplot中圆的边界线的 colored颜色 ?

在R中,如何将误差条放置在堆叠的每个条上?

使用ggplot2中的sec_axis()调整次轴

SHILINY中DT列的条件着色

计算来自单独分组的分幅的值的百分位数

如何从嵌套数据中自动创建命名对象?在R中

禁用时,SelecizeInput将变得不透明

如何将图例文本添加到图例符号中

使用其他DF中的文件名将列表中的每个元素保存到文件中

reshape 数据帧-基于组将行转换为列

移除y轴断开的geom_bar图的外框