r - 从列表中的数据框名称将标题名称添加到 ggplots 列表

标签 r ggplot2

我正在从数据框列表中生成箱线图列表:

Bps<-lapply(dflist, function(x){
  gg<-ggplot(x, aes(x= x, y= y, fill= x))+
   geom_boxplot(position  = "dodge")+
    ggtitle(names(x))    
 })

数据帧列表可以通过以下方式生成:

 df1<-data.frame(x=seq(1:50), y=rep("Blank", "Non_blank",25))
 df2<-data.frame(x=seq(1:40), y=rep("Blank", "Non_blank",20))
 df3<-data.frame(x=seq(1:30), y=rep("Blank", "Non_blank",15))

dflist<-list(df1,df2,df3

我需要将原始数据框的名称粘贴为每个箱线图的标题。因此,如果 dflist 有 3 个数据帧,分别称为 dfA、dfB 和 dfC,那么这些数据框应该是由 lapply 函数制作的每个箱线图的标题。我似乎只能得到一个列的名称,而不是原始数据框的名称。 非常感谢, 中号

最佳答案

因为这是一个顺序问题,我们不需要分配结果,我们可以使用for循环:

names(dflist) <- c("dfA", "dfB", "dfC") # Define names of df's

for (i in seq(dflist)) {
  gg <- ggplot(dflist[[i]], aes(x = x, y = y, fill = x))+
    geom_boxplot(position  = "dodge") +
    ggtitle(names(dflist[i]))
  print(gg)
}

关于r - 从列表中的数据框名称将标题名称添加到 ggplots 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35914900/

相关文章:

R:在 R 中改变和弦图的颜色

c++ - Rcpp 函数比相同的 R 函数慢

r - 使用 ggplot2 沿平滑曲线绘制直方图或密度

r - 将文本添加到 ggplot

r - 为 geom_hline 添加图例条目

r - geom_crossbar 忽略 alpha 参数?

r - 根据条件清理数据框

r - 使用 R 服务将带引号的字符串作为输入参数传递给 SQL Server 2016 存储过程

r - 在 position_dodge() 之后的 ggplot2 中注释?

r - 带有两个 ggplots 和共同图例的 plotly 子图?