【问题标题】:How do you combine multiple boxplots from a List of data-frames?如何从数据框列表中组合多个箱线图?
【发布时间】:2011-07-02 18:49:27
【问题描述】:

这是来自 Stack Exchange 统计部分的转贴。我在那里问过这个问题,有人建议我在这里问这个问题。就是这样。

我有一个数据框列表。每个数据帧都具有相似的结构。每个数据框中只有一列是数字的。由于我的数据要求,每个数据帧都必须具有不同的长度。我想创建一个数值的箱线图,按另一列中的属性分类。但是箱线图应该包含来自所有数据框的信息。

我希望这是一个明确的问题。我会尽快发布示例数据。

【问题讨论】:

    标签: list r ggplot2 data-visualization dataframe


    【解决方案1】:
    a<-data.frame(c(1,2),c("x","y"))
    b<-data.frame(c(3,4,5),c("a","b","c"))
    boxplot(c(a[1],b[1]))
    

    使用“1”,我从数据框中选择我想要的列。

    一个数据框不能有不同的列长度(每列必须有相同的行数),但你可以告诉 boxplot 并行绘制多个数据集。

    【讨论】:

    • 如果直接从列表中绘图,此解决方案将不起作用。
    【解决方案2】:

    山姆,

    我假设这是对this 问题的跟进?也许您的示例数据会更好地说明您的需求的细微差别(“在另一列中对属性进行分类”部分),但同样的 melting 方法应该在这里工作。

    library(ggplot2)
    library(reshape2)
    #Fake data
    a <- data.frame(a = rnorm(10))
    b <- data.frame(b = rnorm(100))
    c <- data.frame(c = rnorm(1000))
    
    #In a list
    myList <- list(a,b,c)
    
    
    #In a melting pot
    df <- melt(myList)
    
    #Separate boxplots for each data.frame
    qplot(factor(variable), value, data = df, geom = "boxplot")
    #All values plotted together as one boxplot
    qplot(factor(1), value, data = df, geom = "boxplot")
    

    【讨论】:

    • 你不能把列表融化掉吗?
    • @hadley - 确实可以。我之前没有专门使用melt 与列表,所以感谢您的提示。会相应修改。
    • 确实是的,这是该问题的后续。感谢您的编辑。
    • 请注意,您还需要添加“library(reshape)”才能使其正常工作。
    • @DiomidisSpinellis - 谢谢,补充说。早在 2011 年,当你回答这个问题时,当你加载 ggplot2 时默认加载 reshape ......现在情况不再如此,所以我更新了代码。
    【解决方案3】:

    使用melt() 函数和基本 R 箱线图:

    #Fake data
    a <- data.frame(a = rnorm(10))
    b <- data.frame(b = rnorm(100))
    c <- data.frame(c = rnorm(100) + 5)
    
    #In a list
    myList <- list(a,b,c)
    
    #In a melting pot
    df <- melt(myList)
    
    # plot using base R boxplot function
    boxplot(value ~ variable, data = df)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-29
      • 2021-11-15
      • 2019-03-22
      • 2021-12-07
      • 2021-04-18
      • 2021-08-03
      • 1970-01-01
      • 2020-11-29
      相关资源
      最近更新 更多