【问题标题】:plotting different columns in r在 r 中绘制不同的列
【发布时间】:2015-10-21 16:09:17
【问题描述】:

数据 = 110 列(x1: x100)(数字)

我正在尝试使用以下代码绘制所有列,

      x2=melt(x1)
      ggplot(x2,aes(x = value)) + 
      facet_wrap(~variable,scales = "free_x") + 
      geom_histogram(aes=(density))
      +title(sub = s, line = 5.5) 
      s<-summary(x1)

我还想将汇总数据附加到图中的每一列以进行一些分析。有什么替代品吗?

谢谢。

【问题讨论】:

    标签: r visualization


    【解决方案1】:

    据我所知,您不能在 facet_wrap 的子图中添加字幕。您可以更改标题以适应您想要的内容。这是一个包含最小值、最大值、平均值和中值的示例:

    data = data.frame(x1=rnorm(100),
                      x2=rnorm(100),
                      x3=rnorm(100),
                      x4=rnorm(100),
                      x5=rnorm(100),
                      x6=rnorm(100))
    
    
    library(dplyr)
    library(tidyr)
    library(ggplot2)
    
    x <- data %>% 
      gather(variable,value) %>%
      group_by(variable) %>%
      mutate(mean=mean(value),
                median=median(value),
                min=min(value),
                max=max(value),
                lab=paste(first(variable),"\nMin:",round(min,2),"Mean:",round(mean,2),"Median:",round(median,2),"Max:",round(max,2)))
    
    ggplot(x,aes(x = value)) + 
      facet_wrap(~lab,scales = "free_x") + 
      geom_histogram(aes=(density)) +
      geom_vline(aes(x=mean))
    

    【讨论】:

    • 但在这里你将平均值设置为 geom_vline,但我试图在直方图下打印所有值的摘要,如最小值、最大值、...平均值,如副标题
    • @Maddy 对此感到抱歉。我编辑了我的答案以提出解决方案
    猜你喜欢
    • 2019-08-05
    • 1970-01-01
    • 2019-07-08
    • 2021-03-24
    • 2021-12-11
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多