我有一个数据框,存储了每个模型的计数值。模型名称是由字母和数字组成的。然后使用ggplot2生成一个条形图,将模型显示在x轴上,计数显示在y轴上。我想对x轴进行排序。数据框和图表上的x轴如下所示。我希望正确地对其进行排序,例如M_1,M_2,M_3,M_10,M_11,M_20等。
Model Count
M_1 73
M_10 71
M_100 65
M_11 65
M_110 64
M_111 71
M_13 70
M_130 73
M_2 72
M_20 69
M_200 63
M_21 72
M_210 72
M_211 67
M_3 78
M_30 76
M_300 59
M_31 73
M_310 64
我尝试使用 order(), mixedsort(), arrange() 对数据框进行排序,并在 ggplot2 中使用 factor()。然而并没有成功。
geneDFColSum[with(geneDFColSum, order(geneDFColSum$Model)), ]
geneDFColSum[with(geneDFColSum, mixedsort(geneDFColSum$Model)), ]
library(dplyr)
arrange(geneDFColSum, Model)
有没有一种方法可以实现这个目的?我可以将型号分离到一个单独的列中,并按该列进行排序。但是我正在寻找是否有更简单的方法。
my_order
,那么请执行以下操作geneDFColSum$Model = factor(geneDFColSum$Model, levels = unique(geneDFColSum$Model))
来设置数据顺序中的水平顺序。 - Gregor Thomas