带有因子的多列的ggplot boxplot

cra*_*mmy 2 r ggplot2

我是新手ggplot2,我想在同一个图中绘制多个数字列的boxplot,并将boxplot按最后一列的因子分组,数据帧的标题如下:

id var1 var2 var3 factor
Run Code Online (Sandbox Code Playgroud)

我知道我能做到:

ggplot(df,aes(x=factor,y=var1)+geom_boxplot()
Run Code Online (Sandbox Code Playgroud)

对于每个变量.

我怎样才能将它们一起绘制ggplot2?基本图形实用程序boxplot(df[,-c(id,factor)]将它们一起绘制.

rns*_*nso 9

以下工作"在同一图中绘制多个数字列的箱线图,并按箱子图分组":

mm = melt(df, id=c('id','factor.col'))
ggplot(mm)+geom_boxplot(aes(x=paste(variable,factor.col,sep="_"), y=value))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

数据:

> df
   id          var1       var2       var3 factor.col
1   1  0.0562941632  1.3055892 -1.7553986          c
2   2  0.3187487914 -0.6434729  0.7582403          a
3   3 -1.0120881740  0.3898366  0.4790115          c
4   4 -0.7576871261  0.9474247  0.2180341          b
5   5 -0.2895981608  0.2388043 -0.4407693          a
6   6  0.0005306311  0.9494667 -0.2604795          c
7   7  0.2022893934 -0.3095420 -1.9483369          c
8   8 -0.8179580833 -0.7891642  0.7662824          b
9   9 -0.7553554525  0.2734337 -0.7145471          b
10 10  0.4206429078 -0.6171774  0.6274320          c
> 
Run Code Online (Sandbox Code Playgroud)

以下也可以使用:

ggplot(mm)+geom_boxplot(aes(x=variable, y=value))+facet_grid(.~factor.col)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述