如何在ggplot2箱线图中按(variable1-variable2)对()重新排序?
这是我的数据框如何在ggplot2箱线图中按(variable1-variable2)对()重新排序?,r,ggplot2,boxplot,R,Ggplot2,Boxplot,这是我的数据框data.melt Id,Group,variable,value 1,a,score1,56 1,a,score2,23 2,b,score1,15 2,b,score2,45 3,c,score1,62 3,c,score2,95 4,d,score1,75 4,d,score2,11 这是我的箱线图生成脚本 ggplot(data.melt) + geom_boxplot( aes( x=Group, y=value, fi
data.melt
Id,Group,variable,value
1,a,score1,56
1,a,score2,23
2,b,score1,15
2,b,score2,45
3,c,score1,62
3,c,score2,95
4,d,score1,75
4,d,score2,11
这是我的箱线图生成脚本
ggplot(data.melt) +
geom_boxplot(
aes(
x=Group,
y=value,
fill=variable
)
)
我知道我可以为x=
设置一个reorder()
函数,但我不确定如何按照我的意愿对图表进行排序
我希望它按
score1
的中值值
和score2
的中值值
之间的差值排序。reorder()
是否可以实现这一点?您是指变量的值和等效中值之间的差异吗?score1
和score2
中位数之间的差异是一个数字,即25
我也不确定为什么要制作单值的方框图…@ShawnMehan我的方框图的X轴是Group
。Y轴为值
。每个组有两个框,一个用于score1
,另一个用于score2
。我知道我可以通过中位数值
和重新排序(组、值、乐趣=中位数)
对X轴进行排序。我想根据score
和score2
的中位数之间的差异来排序,而不是ggplot(df)+geom_点(aes(x=组,y=值,颜色=变量))
?@ShawnMehan我不确定您的意思似乎您只需要计算每个组的中间值差异
,并将其作为变量添加到数据集中,您可以使用重新排序
。如果没有更能代表问题的数据,就很难进行测试(目前只有每个变量的值每个组的类别)。