Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ggplot2箱线图中按(variable1-variable2)对()重新排序?_R_Ggplot2_Boxplot - Fatal编程技术网

如何在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我不确定您的意思似乎您只需要计算每个
组的中间值差异
,并将其作为变量添加到数据集中,您可以使用
重新排序
。如果没有更能代表问题的数据,就很难进行测试(目前只有每个
变量的值
每个
组的类别
)。