R 我应该在哪里对条形图进行重新排序,以使条形图组与数据帧具有相同的顺序

R 我应该在哪里对条形图进行重新排序,以使条形图组与数据帧具有相同的顺序,r,ggplot2,R,Ggplot2,我有这样一个数据帧: 第1、3、4列为系数,第2列为数值 我使用以下代码制作条形图: ggplot(mydata6, aes(x=Stage, y=differential_IR_number, fill=Change)) + #don't need to use "" for x= and y, comparing to the above code geom_bar(stat = "identity", position = "stack

我有这样一个数据帧:

第1、3、4列为系数,第2列为数值 我使用以下代码制作条形图:

ggplot(mydata6, aes(x=Stage, y=differential_IR_number, fill=Change)) + #don't need to use "" for x= and y, comparing to the above code
  geom_bar(stat = "identity", position = "stack") + #using stack to make decrease and increase stack with each other
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) + #using theme function to change the labeling to be vertical
  geom_text(aes(label=differential_IR_number), position=position_stack(vjust=0.5))
结果如下:

但我希望订单是E14vsE11 E18vsE11和成人VSE11,我尝试在不同的位置重新排序/排序,但都不起作用


为什么它不遵循mydataframe的顺序?

顺序是因子的级别之一。您可以按如下方式设置所需的顺序:

mydata6$Stage <- factor(mydata6$Stage, levels = c("E14vsE11", "E18vsE11", "AdultvsE11"))

据我所知,你的图表遵循你在专栏阶段的因素顺序。你可以使用package forcats和fct_reorder函数对Stage的因子级别进行重新排序。我使用reorderStage进行了尝试,但输出看起来是一样的。可能重复我已经达到了那个级别。在舞台上试着排序。不能得到结果。Laurent下面的回答有助于我更好地理解level的含义。非常感谢你
mydata6$Stage <- factor(mydata6$Stage, levels = c("E14vsE11", "E18vsE11", "AdultvsE11"))