如何使用矩阵在 ggplot 中生成箱线图
在 R 中,很容易将矩阵转换为箱线图,
> myMatrix
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 27 32 31 28 20 28 10 29 15 29
[2,] 31 33 20 28 21 9 14 21 34 33
[3,] 27 33 28 23 26 33 19 11 26 30
[4,] 33 17 10 31 10 32 10 29 31 28
[5,] 25 10 29 34 32 33 28 32 32 32
[6,] 32 19 13 32 26 20 9 26 32 33
[7,] 33 32 18 26 27 28 29 32 24 25
[8,] 33 34 32 30 27 31 22 32 33 30
[9,] 32 34 31 22 17 31 11 27 18 23
[10,] 26 10 30 30 27 4 4 4 4 4
> boxplot(as.data.frame(myMatrix))
如何在 ggplot 中完成同样的事情?
In R it is easy to turn a matrix into a boxplot
> myMatrix
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 27 32 31 28 20 28 10 29 15 29
[2,] 31 33 20 28 21 9 14 21 34 33
[3,] 27 33 28 23 26 33 19 11 26 30
[4,] 33 17 10 31 10 32 10 29 31 28
[5,] 25 10 29 34 32 33 28 32 32 32
[6,] 32 19 13 32 26 20 9 26 32 33
[7,] 33 32 18 26 27 28 29 32 24 25
[8,] 33 34 32 30 27 31 22 32 33 30
[9,] 32 34 31 22 17 31 11 27 18 23
[10,] 26 10 30 30 27 4 4 4 4 4
> boxplot(as.data.frame(myMatrix))
How do I accomplish the same thing in ggplot?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 Melt() 函数,然后使用 geom_boxplot()。
首先重现数据(感谢 Excel):
然后熔化并绘图:
另外,正如哈德利(很久以前)在评论中建议的那样,无需将矩阵转换为数据框:
You could use the melt() function and then geom_boxplot().
First reproduce the data (thanks to Excel):
Then melt and plot:
Also, as Hadley suggested (long ago) in the comments, there is no need to cast the matrix to a data frame: