用ggplot2从矩阵创建箱线图

4
我可以帮您进行翻译。以下是需要翻译的内容:

我一直在寻找这个主题,但是我找不到一个清晰的答案来解决我的问题。 我有一个像这样的矩阵:

    > myMatrix
           [,1]      [,2]         [,3]
 [1,] 1.0000000 0.8236821 5.174437e-01
 [2,] 0.2696589 0.1854324 1.000000e+00
 [3,] 0.3266629 0.1982345 1.000000e+00
 [4,] 1.0000000 0.7766927 1.807857e-01
 [5,] 1.0000000 0.5033586 3.662552e-01
 [6,] 1.0000000 0.9419056 4.989487e-02
 [7,] 1.0000000 0.6215466 9.446507e-01
 [8,] 1.0000000 0.9483751 8.328207e-01
 [9,] 1.0000000 0.4597556 1.756653e-01
[10,] 1.0000000 0.4842302 8.154578e-01
[11,] 1.0000000 0.5108767 1.912999e-01
[12,] 1.0000000 0.4315146 2.921003e-01
[13,] 1.0000000 0.8404401 8.960460e-03
[14,] 0.8190788 1.0000000 3.551697e-08
[15,] 1.0000000 0.5707248 1.897027e-03
[16,] 0.7768339 1.0000000 6.486805e-07
[17,] 0.7258489 1.0000000 3.463566e-06
[18,] 0.1839966 0.1848062 1.000000e+00
[19,] 0.3061347 0.1304444 1.000000e+00
[20,] 1.0000000 0.4425222 9.216534e-02

我想使用 ggplot2 制作一个箱线图,显示这个(3组数据分别对应3列):

boxplot(myMatrix)

我无法使用 ggplot2 找到一种方法来生成与我的三个组相同的箱线图。 请问有人可以帮助我吗?

1个回答

5
您需要将矩阵转换为长格式的数据框才能使用ggplot2
dat <- stack(as.data.frame(myMatrix))

现在你可以使用ggplot2

library(ggplot2)
ggplot(dat) + 
  geom_boxplot(aes(x = ind, y = values))

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接