0

我正在努力从数据框中绘制箱线图。我有一个数据框 df ,其中包含 3 列:df$A, df$B, df$C. 我想df$C在 X 轴上绘制一个图表df$A,并df$B在 Y 轴上绘制箱线图。因此,对于 x 轴的每个值,它应该是两个值df$Adf$B。我想让框为 X 轴 ( df$C) 的每个值对齐。我尝试使用交互在列中组合 ( A, B) 然后像这样绘制它:

df$AandB <- interaction(df$A, df$fB)

ggplot(aes(y = AandB, x = df$C), data = df) + geom_boxplot()

但它没有用。它只显示了水平线-抱歉,我是新用户,无法上传图像。

我发现了一些使用填充或颜色的建议,但没有奏效。

有什么建议么?

我的df样本:

  A         B         C  
 200.12    30.11       28.75 
 100.75    26.17       29.98        
 27.33      25.58      34.98 
 25.19      22.6       35.56 
 40.03      21.02      37.51 
 20.3       18.31      44.75   
4

1 回答 1

1

数据:

df <- read.table(text="A         B         C  
200.12    30.11       28.75 
100.75    26.17       29.98        
27.33      25.58      34.98 
25.19      22.6       35.56 
40.03      21.02      37.51 
20.3       18.31      44.75", header = TRUE)

首先,数据需要以长格式排列。和的值A与包B合并在一列中reshape2

library(reshape2)
df_l <- melt(df, id.vars = "C")

现在,可以创建绘图:

library(ggplot2)
ggplot(df_l, aes(x = C, y = value)) + 
  stat_summary(aes(group = C),
               fun.y = mean, fun.ymin = min, fun.ymax = max, geom = "crossbar")

横线表示数据的范围和平均值。 在此处输入图像描述

于 2012-11-15T19:33:55.407 回答