从2个不同的数据框创建配对的箱图

时间:2015-03-03 15:43:24

标签: r dataframe boxplot graphic

我想在R中用箱形图创建一个图形。我得到了以下数据框:

> drools_responseTimes_numberOfClients_REST
      X1   X5  X10  X20   X50
1    816  183  699  154   297
2    366  280 1283  345   291
3    103  946 1609  409   377
4    431 1086 1974  482   479
5     90 1379 2083  567   557
6    290  511 2184  910   925
7    134  770 2283  980  1277
8    480 1547 2416 1069  1752
9    275 1727 2520 1141  1846
10    67  679 2616 1188  1935

> javascript_responseTimes_numberOfClients_REST
       X1   X5  X10   X20   X50
1     334  497  610   439   417
2     445  894  859   826   588
3     306 1143 1123  1407   791
4     301 1442 1445  1806  1005
5     257 1754 1857  2209  1235
6     181  507 2078  2493  1441
7     436 1186 2419  2885  1677
8     353 2280 2708  3101  1909
9     350 2984 2997  3358  2106
10    296  544 3185  3817  2353

我想为每个列创建成对的箱形图,区分类型和颜色,如下所示:https://stackoverflow.com/a/17922219/3503168

1 个答案:

答案 0 :(得分:0)

我建议使用ggplot + reshape2的解决方案,随机数据:

set.seed(10)
drools <- data.frame(matrix(round(runif(50, 50, 1000)), ncol=5))
java <- data.frame(matrix(round(runif(50, 50, 1000)), ncol=5))

library(ggplot2)
library(reshape2)

df <- data.frame(melt(drools), melt(java)[2])
names(df) <- c("column", "drools", "java")
df2 <- melt(df)

ggplot(data=df2) +
  geom_boxplot(aes(x=column, y=value, fill=variable))

它给出了:

enter image description here

什么&#39;融化&#39;实际上确实将5(然后是第二次使用的2)列转换为单个列中的因子,这使得绘图变得容易。