我有一个数据帧,其列名为Stage
。数据框是从定期更新的excel文件生成的。不使用因子自定义排序
本专栏应该只包含一些特定的值,例如'Planning'或'Analysis',但是有时候人们会将自定义值放入,停止不切实际。
我希望按此列排序的数据框以自定义排序顺序按时间顺序有意义(例如,对于我们来说,计划在分析之前进行)。我可以使用这些因素(例如Reorder rows using custom order),但如果我使用预定义的因素列表,则会丢失任何人们进入该列的意外值。我很高兴意外的价值观没有被正确排序,但我不想完全失去它们。
编辑:由floo0答案是惊人的,但我忘了提,我打算barplotting的结果,像
barplot(table(MESH_assurance_involved()[MESH_assurance_involved_sort_order(), 'Stage']), main="Stage became involved")
(括号因为这些闪亮的反应对象,不应该差异)。
结果未排序,尽管控制台中的测试显示基础数据已排序。
table
也打破排序,但使用ggplot
和没有表我得到相同的结果。
要显示维护源订单的barplot似乎需要类似于Ordering bars in barplot()的东西,但我找到的所有解决方案都需要考虑因素,并将它们与此处的解决方案混合,这对我来说无法实现。
谢谢。我得到我的数据排序,但当我barplot它,数据不显示排序'barplot(表(MESH_assurance_involved()[MESH_assurance_involved_sort_order(),'舞台']),main =“舞台参与”)(括号,因为闪亮) 。我知道要获得排序的barplot,你需要一些技巧,例如[barplot()中的排序条)(http://stackoverflow.com/questions/19681586/ordering-bars-in-barplot),但我不明白如何让我为自己工作:我明白你的代码是如何工作的,但同时考虑数据和数据排序顺序似乎超出了我的想象。 – anotherfred