我是 R 新手,一直在尝试制作箱线图。显示了我正在使用的部分数据
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10
1 0.003719430 0.002975544 0.003049933 0.003421876 0.003421876 0.003347487 0.003645042 0.003496264 0.007364472 0.009075410
2 0.003400540 0.002749373 0.003038781 0.003328188 0.003328188 0.003400540 0.003472892 0.003400540 0.007741656 0.009333398
3 0.003741387 0.002918282 0.003142765 0.003367248 0.003367248 0.003367248 0.003666559 0.003516904 0.008081396 0.008156223
4 0.003870634 0.002884002 0.003187581 0.003339370 0.003567055 0.003415265 0.003794739 0.003491160 0.008348426 0.007741268
5 0.003782963 0.002950711 0.003177689 0.003480326 0.003404667 0.003404667 0.003707304 0.003631645 0.008927793 0.007414608
6 0.003643736 0.002884624 0.003264180 0.003416002 0.003491913 0.003416002 0.003871469 0.003795558 0.009033428 0.007135649
7 0.003718600 0.003035592 0.003111482 0.003339151 0.003566821 0.003566821 0.003642710 0.003870380 0.008120209 0.008044319
8 0.003819313 0.002979064 0.003284609 0.003360995 0.003590154 0.003437382 0.003895699 0.003590154 0.008326102 0.007791398
9 0.003899334 0.002981844 0.003211216 0.003364131 0.003669961 0.003440589 0.003746419 0.003669961 0.008410328 0.007569295
10 0.003828488 0.002986220 0.003292499 0.003445639 0.003522209 0.003522209 0.003598778 0.003598778 0.008422673 0.007810115
当我使用默认的boxplot
命令然后这就是我得到的
boxplot(df)
我一直在尝试使用以下方法生成相同数据的箱线图ggplot2
但它给出了一个我无法解决的错误。这是我尝试过的。
library(ggplot2)
df <- readRDS('data.Rda')
ggplot(df) + geom_boxplot()
这是错误
Don't know how to automatically pick scale for object of type data.frame. Defaulting to continuous
Error: Aesthetics must either be length one, or the same length as the dataProblems:df[, 6:15]
我看到了ggplot2 文档 http://docs.ggplot2.org/0.9.3.1/geom_boxplot.html for geom_boxplot
并意识到(从示例中)我需要重新排列我的数据,例如
col1 col2
h1 0.003719430
h1 0.003400540
h1 0.003741387
h1 0.003870634
h1 0.003782963
h1 0.003643736
h2 0.002975544
h2 0.002749373
h2 0.002918282
h2 0.002884002
h2 0.002950711
h2 0.002884624
...
并使用类似的东西
ggplot(df, aes(factor(col1), col2)) + geom_boxplot()
但这是一项繁重的工作。我相信一定有某种方法可以自动执行此操作,但我找不到。任何帮助表示赞赏。