R的初学者,这是我的初学者问题:我想知道如何在geom_point中使用重新排序功能
如果我运行我的代码(如下),该图将根据“ Split_time”列中第一个数字的数字顺序1,2,3,5排列x轴,而不是我想要的顺序:{{ 1}}。
这里合适的更改是什么?
这是我的数据集:
m_5,m_10,m_20,m_30
代码:
Group Split_time ES
Heavy m_5 -0.753006245
Heavy m_10 -0.946046493
Heavy m_20 -0.766883256
Heavy m_30 -0.6175288
Optimal m_5 -1.041742539
Optimal m_10 -1.253699539
Optimal m_20 -1.153807339
Optimal m_30 -1.179895776
Control m_5 -0.503250366
Control m_10 -0.476303945
Control m_20 -0.543155436
Control m_30 -0.54148328
答案 0 :(得分:0)
这是因为该列是字符类型,并且在对字符进行排序时,“ 1”位于“ 5”之前(因此,“ m_10”位于“ m_5”之前)。
R中用于分类变量的数据类型称为“因子”。进一步了解https://www.stat.berkeley.edu/~s133/factors.html和https://www.rdocumentation.org/packages/base/versions/3.6.0/topics/factor
根据您的情况,您可以将Split_time
转换为一个因数,然后按照所需的顺序手动指定级别。
df$Split_time = factor(df$Split_time, levels = c("m_5", "m_10", "m_20", "m_30"))
一旦这样做,ggplot还将根据其水平对因子进行排序,其中m_5在m_10之前