用因子变量命令ggplot

时间:2014-08-22 06:19:45

标签: r graphing

我想通过相应的数值来排序因子变量,因此我可以按降序创建堆积条形图。我看了很多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轴为名称。

感谢您的帮助!

0 个答案:

没有答案