我想通过相应的数值来排序因子变量,因此我可以按降序创建堆积条形图。我看了很多Q& As,但似乎无法找到解决方案。
以下是我的数据:它有三个重要变量:名称,变量和值
name variable value
2 bass karen ratio.dis 0.00000000
19 landrieu ratio.dis 0.00000000
20 clinton ratio.dis 0.00000000
22 quigley ratio.dis 0.00000000
25 delbene ratio.dis 0.00000000
> 9 conyers ratio.dis 0.55526316
14 braley ratio.dis 0.56315789
21 franken ratio.dis 0.58245614
10 nadler ratio.dis 0.64298246
12 scott robert ratio.dis 0.70000000
18 cummings ratio.dis 0.72719298
8 jeffries ratio.dis 0.75000000
15 richmond ratio.dis 0.75087719
13 green al ratio.dis 0.77719298
39 jeffries ratio.opt 0.00000000
40 conyers ratio.opt 0.05526316
41 nadler ratio.opt 0.07105263
42 lee sheila ratio.opt 0.08333333
43 scott robert ratio.opt 0.10000000
44 green al ratio.opt 0.11140351
45 braley ratio.opt 0.12456140
每个名称出现两次,每个变量因子一次(ratio.opt,ratio.dis)。当我尝试ggplot时,它按名称按字母顺序排列x轴。
ggplot(bills.opt.ordered, aes(x=name, y=value, fill=variable)) +
geom_bar(stat='identity')
即使data.frame,bills.opt.ordered由升序值组织,在我尝试使用order()命令之后。
具体来说,我希望优先级按EACH因子的值排序。当我按价值排序时,我得到一个图表,命令所有值,这是错误的,因为它没有首先拆分ratio.dis和ratio.opt(我不能粘贴图表,因为我没有足够的声誉点)。右图将在同一图表上为每个变量按升序排列,x轴为名称。
感谢您的帮助!