在一个箱图中绘制多个变量

时间:2017-09-25 15:59:34

标签: r dataframe

我有一张4 * 10数据表,如下:

Total, var1, var2, var3 
104, 35, 33, 36
106, 38, 32, 36
93, 34, 27, 32
98, 31, 32, 35
101, 34, 32, 35
106, 38, 32, 36
82, 32, 23, 27
100, 38, 30, 32
111, 34, 39, 38
89, 35, 27, 27

我希望生成一个boxplot,其中每列绘制为一个单独的箱图,但在同一图表上。理想情况下,我还想对这些颜色进行颜色编码,并添加一些jitter来显示各个数据点。

到目前为止,我已尝试在reshape2上使用融合功能,但我没有太多运气。

我希望这很清楚,这给了我很多麻烦。谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

使用这样的数据:

> head(data)
  Total var1 var2 var3
1   104   35   33   36
2   106   38   32   36
3    93   34   27   32
4    98   31   32   35
5   101   34   32   35
6   106   38   32   36

那么ggplot2

library(ggplot2)
ggplot(reshape2::melt(data), aes(x=variable, y=value, col=variable)) + geom_boxplot() + geom_jitter(height=0,col="black")

得到你:

enter image description here

当位置和轴标签足够时,我没有看到着色点,但无论如何。此外,如果您按变量对点进行着色,则会将其丢失在箱线图上,因此我将它们保持为黑色。