2

我得到以下数据框(此处简化):

    H2475  H2481  H2669  H2843  H2872  H2873  H2881  H2909
E1 24.470 26.481 15.120 18.490 16.189 11.422 14.886 18.512
E2  1.016  0.363  0.509  1.190  1.855  0.958  0.771  0.815
E3  0.671  0.637  0.571  0.447  0.116  0.452  0.403  0.753
E4  3.448  2.826  2.183  2.607  4.288  2.526  2.820  3.523
E5  2.548  1.916  1.126  1.553  1.089  1.228  0.887  1.065

其中 E1 - E5 是行号。我想为每一行的值创建一个箱线图(甚至更好的小提琴图)。我想忽略列 ID,并将行 ID 作为“因素”。

像这样的最佳答案: 如何生成箱线图

但以 E1 - E5 作为值。正如您可能猜到的那样,我是融化/铸造/重塑的新手。

非常感谢您的帮助

4

2 回答 2

9

尽管您已经接受了@Chase 的回答,但我向您展示了一种更简单的方法:

 boxplot(t(dat))
于 2011-12-15T07:35:43.030 回答
6

你已经考虑了 95% 的问题。您只是错过了需要从row.names(). 假设您的数据存储在名为的 data.frame 中,这样的事情应该可以工作dat

library(ggplot2)
dat$group <- row.names(dat)
dat.m <- melt(dat, id.vars = "group")
ggplot(dat.m, aes(group, value)) + geom_boxplot()

在此处输入图像描述

于 2011-12-14T20:11:08.873 回答