[英]Boxplot in R using ggplot2
I'm new to R and have been trying to make a boxplot. 我是R的新手,一直在尝试制作箱形图。 A part of the data I'm using is shown
显示了我正在使用的部分数据
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
When I use the default boxplot
command then this is what I get 当我使用默认的
boxplot
命令时,这就是我得到的
boxplot(df)
I have been trying to generate the boxplot for same data using ggplot2
but it gives an error which I am unable to resolve. 我一直在尝试使用
ggplot2
为相同的数据生成ggplot2
但是它给出了我无法解决的错误。 Here's what I tried. 这是我尝试过的。
library(ggplot2)
df <- readRDS('data.Rda')
ggplot(df) + geom_boxplot()
Here's the error 这是错误
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]
I saw the ggplot2 docs for geom_boxplot
and realize (from the example) that I need to rearrange my data like 只见GGPLOT2文档的
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
...
and use something like 并使用类似
ggplot(df, aes(factor(col1), col2)) + geom_boxplot()
But that is a lot of work. 但这是很多工作。 I believe that there must be some way to do this automatically which I'm not able to find.
我认为必须有某种我无法找到的自动执行此操作的方法。 Any help is appreciated.
任何帮助表示赞赏。
You are right ggplot
requires your data to be reshaped, but it isn't that hard using the package reshape2
: 您是正确的
ggplot
要求您对数据进行重塑,但使用包reshape2
并不难:
library(reshape2)
df <- melt(df)
ggplot(df, aes(x=variable, y=value)) + geom_boxplot()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.