【问题标题】:Boxplots from 3 different datasets in RR中3个不同数据集的箱线图
【发布时间】:2013-07-24 21:25:37
【问题描述】:

我有来自 3 项不同研究的数据。研究 A 有 21 个样本,研究 B 有 9 个样本,研究 C 有 12 个样本。现在我想查看在 R 中使用 Boxplots 绘制的所有样本的值分布。我使用了以下命令

boxplot(A,add=F,at=1:21)
boxplot(B,add=T,at=22:30)
boxplot(C,add=T,at=31:42) 

我只能看到研究 A 的 21 个样本,而研究 B 的 9 个样本和研究 C 的 12 个样本不可见,并且它们不适合框架。我想要一个帧中所有研究的所有 42 个样本。

【问题讨论】:

    标签: r boxplot


    【解决方案1】:

    您可能会查看boxplot 的xlim 参数(否则您的B 和C data.frame 不在绘图区域之外):

    set.seed(1)
    a <- rnorm(100)
    b <- rnorm(100)
    
    boxplot(a, at=1, xlim=c(0, 3))
    boxplot(b, at=2, add=TRUE)
    

    【讨论】:

    • 为什么不boxplot(list(a=a,b=b))?一次性完成,带有信息标签。
    • @Spacedman:我的思想受到了 OP 代码的影响。恕我直言,@Thomas 的 formula-answer 更好。
    • 是的,尤其是如果您的数据采用那种长格式,这通常是获得它的最佳方式。
    • 如何在这个特定的方案中为 x 轴添加自定义标签?
    • 只需通过axis 添加它们(参见?axis),例如:axis(1, at=1:2, labels=c("A", "B"))。
    【解决方案2】:

    使用boxplot中的公式选项:

    A <- rnorm(21)
    B <- rnorm(9)
    C <- rnorm(12)
    mydf <- data.frame(y=c(A,B,C),x=c(rep(1,length(A)),rep(2,length(B)),rep(3,length(C))))
    with(mydf, boxplot(y~x))
    

    【讨论】:

      猜你喜欢
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 2020-07-23
      相关资源
      最近更新 更多